Function at 0x403d50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
jmp 0x57f2f0
sub esp, 0x4cc
mov eax, dword [0x93e25c]
push ebx
push ebp
push esi
xor ebx, ebx
push edi
xor edi, edi
push 0x973b9c
mov dword [esp + 0x4dc], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0x844320
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [esp + 0x4e4]
cmp esi, ebx
mov ebp, dword [esp + 0x4e0]
je VirtualFree
nop
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0xc]
mov edx, dword [0x81f924]
push ebx
push 0x974550
push eax
push 0x741b68
push ecx
push 0x741b68
push edx
lea eax, [esp + 0xf4]
push 0x200
push eax
call fcn.0062b600
lea ecx, [esp + 0xfc]
push ecx
mov edx, ecx
push edx
call fcn.005e2e40
lea eax, [esp + 0x104]
push ebx
push eax
xor edi, edi
call fcn.006d2006
add esp, 0x34
test eax, eax
jne 0x57f3fa
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0xdc]
push edx
push ebp
call fcn.0040a790
mov edi, eax
add esp, 0xc
cmp edi, 2
jne 0x57f3fa
lea eax, [esp + 0xd8]
push 0x10
push eax
call fcn.005e8350
add esp, 8
test eax, eax
je 0x57f3e3
mov dword [esp + 0x2c], 1
push ebx
push esi
push ebp
mov ecx, 0x974d40
call fcn.004091f6
call fcn.00404188
jmp reloc.KERNEL32.dll_GetFullPathNameA
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0xc]
push ecx
push edx
push str._s._s
lea eax, [esp + 0x2e4]
push 0x200
push eax
call fcn.0062b5c0
mov ecx, dword [ebp + 0x2c]
mov eax, dword [ecx + 0x778]
add esp, 0x14
cmp eax, ebx
je IsValidLocale
mov eax, dword [0x974690]
mov ecx, dword [eax + 0xcc]
lea edx, [esp + 0x2d8]
push edx
push ecx
push 0x41b
push ebx
push ebp
call fcn.0040a1b4
add esp, 0x14
jmp reloc.KERNEL32.dll_GetFullPathNameA
cmp edi, 1
jne GetStringTypeA
cmp dword [esp + 0x24], ebx
jne reloc.KERNEL32.dll_GetFullPathNameA
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x14]
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
jmp reloc.KERNEL32.dll_GetFullPathNameA
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x57f4aa
cmp eax, dword [esp + 0x18]
jae 0x57f48b
mov ecx, dword [esp + 0x10]
mov byte [eax + ecx], 0x2c
jmp 0x57f4a6
inc eax
push eax
lea ecx, [esp + 0x14]
call fcn.0040a849
test eax, eax
jne 0x57f4aa
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov byte [edx + eax], 0x2c
inc dword [esp + 0x14]
mov eax, dword [esi + 0x14]
mov dword [esp + 0x30], eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x57f4b4
mov ecx, dword [0x9749e0]
sub eax, edx
lea edx, [esp + 0x30]
mov dword [esp + 0x40], ecx
push edx
lea ecx, [esp + 0x14]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
call fcn.004064ec
cmp dword [esp + 0x3c], ebx
je reloc.KERNEL32.dll_GetFullPathNameA
mov eax, dword [esp + 0x30]
push eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ebx
call fcn.005d8be0
add esp, 4
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov esi, dword [esi]
cmp esi, ebx
jne 0x57f350
mov edi, dword [esp + 0x24]
cmp dword [0x81ebd4], ebx
je GetCurrentDirectoryA
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0x30]
push 0x526
push ebx
push ebx
push ecx
push edx
push ebp
lea ecx, [esp + 0x60]
mov byte [ebp + 0xb5], bl
mov dword [ebp + 0x2bc], ebx
mov byte [ebp + 0x2c8], bl
mov dword [ebp + 0xbfc], ebx
call fcn.004025f9
lea eax, [esp + 0x48]
push eax
mov ecx, 0x81e578
call fcn.00406e83
mov eax, dword [esp + 0x78]
cmp eax, ebx
mov dword [esp + 0x48], vtable.Query_log_event.0
je 0x57f573
push eax
call fcn.005d8be0
add esp, 4
mov eax, dword [esp + 0x58]
cmp eax, ebx
mov dword [esp + 0x48], vtable.Log_event.0
je SetEnvironmentVariableA
push eax
call fcn.005d8be0
add esp, 4
push 0x973b9c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [esp + 0x2c], ebx
jne VirtualProtect
cmp edi, ebx
je 0x57f5fb
mov edx, dword [esp + 0x28]
push 0x772754
push edi
push edx
push ebx
push 0x543
call fcn.005db890
mov eax, dword [esp + 0x30]
add esp, 0x14
cmp eax, ebx
je 0x57f648
mov eax, dword [esp + 0x10]
push eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebx
call fcn.005d8be0
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x4c8]
call fcn.006cedd0
add esp, 0x4cc
ret
mov ecx, dword [esp + 0x14]
cmp ecx, ebx
je 0x57f664
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x57f610
cmp byte [ecx + eax], bl
je reloc.ADVAPI32.dll_GetLengthSid
push ecx
lea ecx, [esp + 0x14]
call fcn.0040a849
mov eax, dword [esp + 0x10]
push eax
push ebx
push 0x41b
call fcn.005db890
add esp, 0xc
cmp dword [esp + 0x1c], ebx
je 0x57f648
mov ecx, dword [esp + 0x10]
push ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebx
call fcn.005d8be0
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x4c8]
call fcn.006cedd0
add esp, 0x4cc
ret
push ebx
push ebx
push ebx
push ebx
push ebp
call fcn.00409854
mov eax, dword [esp + 0x30]
add esp, 0x14
cmp eax, ebx
je reloc.KERNEL32.dll_SetFileAttributesA
mov edx, dword [esp + 0x10]
push edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebx
call fcn.005d8be0
add esp, 4
mov ecx, dword [esp + 0x4d8]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
call fcn.006cedd0
add esp, 0x4cc
ret