Function at 0x40b814
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x60
mov eax, dword [0x52efc0]
lea ebx, [esp + 4]
xor edi, edi
lea esi, [esp + 0x10]
mov ecx, ebx
xor eax, ebp
mov dword [esp + 0x58], eax
mov dword [esi + 4], edi
mov dword [esi], edi
mov dword [esi + 8], edi
push dword [ebp + 8]
call fcn.004281c4
push ebx
push esi
call fcn.0040bbe6
movzx eax, byte [ebx + 0xb]
test al, al
mov ecx, eax
jns 0x40b85c
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x40bbac
test al, al
mov eax, ebx
jns 0x40b86e
mov eax, dword [esp + 4]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
call fcn.0042ca80
mov edi, eax
mov ecx, eax
push 0x4e3743
call fcn.0042ce80
mov ecx, str.chrome_child.dll
mov edx, str.chrome.dll
test al, al
cmovne edx, ecx
mov ecx, ebx
push edx
call fcn.004288d4
lea ebx, [esp + 0x2c]
mov ecx, ebx
push str.Software360360se6Chrome
call fcn.00402d2c
xor eax, eax
cmp byte [ebx + 0xb], al
jns 0x40b8ba
mov ebx, dword [esp + 0x2c]
lea esi, [esp + 0x20]
mov ecx, esi
push 0x20019
push ebx
push 0x80000001
call fcn.00456dc0
cmp dword [esi], 0
je 0x40b929
lea ecx, [esp + 0x20]
push str.nosign_sygyzy
call fcn.00456ef0
test al, al
jne 0x40b929
movzx eax, byte [esp + 0x1b]
test al, al
jns 0x40b8f4
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x40b929
mov ecx, edi
push 0x4e3743
call fcn.0042ce80
test al, al
jne 0x40b929
cmp byte [esp + 0xf], 0
jns 0x40b915
mov eax, dword [esp + 4]
jmp 0x40b919
lea eax, [esp + 4]
xor ecx, ecx
inc ecx
push ecx
push 0
push ecx
push eax
call fcn.0042bc70
add esp, 0x10
call fcn.0042ca80
mov edi, eax
mov ecx, eax
push str.enable_pre_read
call fcn.0042ce80
test al, al
je 0x40bb3a
mov ecx, edi
push 0x4e3743
call fcn.0042ce80
test al, al
jne 0x40bb3a
call fcn.00458140
mov bl, 0x64
cmp eax, 1
jg 0x40b97b
call fcn.00448a60
xor ecx, ecx
cmp eax, 0x40000000
mov ebx, 0x64
sbb edx, 0
cmovl ebx, ecx
mov ecx, edi
push str.image_pre_read_percent
call fcn.0042ce80
test al, al
je 0x40b9fa
mov dword [esp], ebx
mov eax, str.image_pre_read_percent
lea ebx, [esp + 0x40]
mov dword [ebx], eax
push eax
call fcn.004ceea0
add esp, 4
lea esi, [esp + 0x4c]
mov dword [ebx + 4], eax
mov ecx, edi
push ebx
push esi
call fcn.0042cef0
movzx eax, byte [esi + 0xb]
mov dword [ebx], 0
test al, al
jns 0x40b9c8
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
push ebx
push eax
push esi
call fcn.00443cd0
add esp, 0xc
mov ebx, dword [esp + 0x40]
movzx ecx, byte [esp]
cmp ebx, 0x65
cmovae ebx, ecx
test al, al
cmove ebx, ecx
xor eax, eax
cmp byte [esp + 0x57], al
jns 0x40b9fa
push dword [esp + 0x4c]
call fcn.004aeac6
add esp, 4
movzx ecx, bl
lea ebx, [esp + 4]
cmp byte [ebx + 0xb], 0
mov eax, ebx
jns 0x40ba0d
mov eax, dword [esp + 4]
push 0x100000
mov dword [esp + 4], ecx
push ecx
push eax
call fcn.0040efea
add esp, 0xc
movzx eax, byte [esp + 0xf]
test al, al
jns 0x40ba31
mov ebx, dword [esp + 4]
mov eax, dword [esp + 8]
lea esi, [esp + 0x4c]
mov ecx, esi
push eax
push ebx
call fcn.0042cb30
lea ebx, [esp + 0x40]
mov ecx, esi
push ebx
call fcn.00431a10
mov ecx, esi
push ebx
call fcn.00431280
mov ecx, ebx
call fcn.0042cba0
mov ecx, edi
push str.child_pre_read_percent
call fcn.0042ce80
test al, al
je 0x40badd
mov eax, str.child_pre_read_percent
lea esi, [esp + 0x38]
mov dword [esi], eax
push eax
call fcn.004ceea0
add esp, 4
lea ebx, [esp + 0x40]
mov dword [esi + 4], eax
mov ecx, edi
push esi
push ebx
call fcn.0042cef0
movzx eax, byte [ebx + 0xb]
mov dword [esi], 0
test al, al
jns 0x40baa3
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
push esi
push eax
push ebx
call fcn.00443cd0
add esp, 0xc
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp]
cmp ebx, 0x65
cmovae ebx, ecx
test al, al
cmove ebx, ecx
xor eax, eax
cmp byte [esp + 0x4b], al
jns 0x40bad4
push dword [esp + 0x40]
call fcn.004aeac6
add esp, 4
movzx esi, bl
lea ebx, [esp + 0x40]
jmp 0x40bae0
mov esi, dword [esp]
cmp word [str.chrome_child.dll], 0
je 0x40bafc
xor eax, eax
cmp word [eax + eax + 0x4ee988], 0
lea eax, [eax + 1]
jne 0x40baec
jmp 0x40bafe
xor eax, eax
lea edi, [esp + 0x4c]
mov ecx, edi
push eax
push str.chrome_child.dll
push ebx
call fcn.00431b50
cmp byte [esp + 0x4b], 0
mov eax, ebx
jns 0x40bb1d
mov eax, dword [esp + 0x40]
push 0x100000
push esi
push eax
call fcn.0040efea
add esp, 0xc
mov ecx, ebx
call fcn.0042cba0
mov ecx, edi
call fcn.0042cba0
xor ebx, ebx
cmp byte [esp + 0xf], bl
jns 0x40bb48
mov eax, dword [esp + 4]
jmp 0x40bb4c
lea eax, [esp + 4]
push 8
push 0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
lea ecx, [esp + 0x20]
mov edi, eax
call fcn.00456e80
cmp byte [esp + 0x37], bl
jns 0x40bb74
push dword [esp + 0x2c]
call fcn.004aeac6
add esp, 4
movzx eax, byte [esp + 0xf]
test al, al
jns 0x40bb87
mov edx, dword [esp + 4]
mov eax, dword [esp + 8]
jmp 0x40bb8b
lea edx, [esp + 4]
lea esi, [esp + 0x4c]
mov ecx, esi
push eax
push edx
call fcn.0042cb30
mov ecx, dword [ebp + 8]
push esi
call fcn.00431280
mov ecx, esi
call fcn.0042cba0
mov al, byte [esp + 0xf]
test al, al
jns 0x40bbbc
push dword [esp + 4]
call fcn.004aeac6
add esp, 4
cmp byte [esp + 0x1b], 0
jns 0x40bbcf
push dword [esp + 0x10]
call fcn.004aeac6
add esp, 4
mov ecx, dword [esp + 0x58]
xor ecx, ebp
call fcn.004aeb01
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4