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

Disassembly:
push 0xffffffffffffffff
push 0x4d2a11
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xec
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov ebx, dword [ebp]
add ebx, 0x45c
push ebx
mov dword [esp + 0x98], ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, 0x15
xor eax, eax
lea edi, [esp + 0x1c]
mov dword [esp + 0x104], 0
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10c]
or edi, 0xffffffff
test eax, eax
mov dword [esp + 0x3c], edi
je 0x43b03f
push eax
call fcn.00470f80
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], 1
lea eax, [esp + 0x1c]
mov byte [esp + 0x104], 1
test eax, eax
je 0x43b4ae
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [esp + 0x20]
call fcn.004396f0
mov edx, dword [ebp + 0xc]
mov esi, dword [edx + eax*4]
test esi, esi
je 0x43b4ae
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
call fcn.004396b0
test eax, eax
jne 0x43b096
mov esi, dword [esi + 0x50]
test esi, esi
jne 0x43b07a
jmp 0x43b4ae
test esi, esi
je 0x43b4ae
mov eax, dword [esi + 0x20]
test eax, eax
jge 0x43b0df
mov eax, dword [esp + 0x4c]
mov byte [esp + 0x104], 0
push eax
call fcn.004bd4c4
mov ecx, dword [esp + 0x54]
push ecx
call fcn.004bd4c4
mov edx, dword [esp + 0x5c]
push edx
call fcn.004bd4c4
mov eax, dword [esp + 0x64]
push eax
call fcn.004bd4c4
mov ecx, dword [esp + 0x6c]
push ecx
jmp 0x43b4e3
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
add edx, ecx
mov ecx, dword [esi + 8]
add edx, ecx
mov ecx, dword [esi + 4]
add edx, ecx
mov ecx, dword [esi + 0x24]
cmp ecx, edx
je 0x43b132
mov eax, dword [esp + 0x4c]
mov byte [esp + 0x104], 0
push eax
call fcn.004bd4c4
mov ecx, dword [esp + 0x54]
push ecx
call fcn.004bd4c4
mov edx, dword [esp + 0x5c]
push edx
call fcn.004bd4c4
mov eax, dword [esp + 0x64]
push eax
call fcn.004bd4c4
mov ecx, dword [esp + 0x6c]
push ecx
jmp 0x43b4e3
lea edx, [esp + 0x78]
lea ecx, [esp + 0x74]
push edx
push ecx
mov ecx, dword [ebp]
lea edx, [esp + 0x78]
push edx
push eax
add ecx, 0x330
call fcn.0047c3b0
test eax, eax
je 0x43b191
mov dword [esi + 0x20], edi
mov eax, dword [esp + 0x4c]
push eax
mov byte [esp + 0x108], 0
call fcn.004bd4c4
mov ecx, dword [esp + 0x54]
push ecx
call fcn.004bd4c4
mov edx, dword [esp + 0x5c]
push edx
call fcn.004bd4c4
mov eax, dword [esp + 0x64]
push eax
call fcn.004bd4c4
mov ecx, dword [esp + 0x6c]
push ecx
jmp 0x43b4e3
mov edx, dword [esp + 0x74]
mov ecx, 0x4f55f8
push edx
call fcn.0049a480
mov ebp, eax
test ebp, ebp
je 0x43b4ab
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 4]
test eax, eax
jne 0x43b4ab
mov edx, dword [esp + 0x70]
mov ecx, 6
lea edi, [esp + 0x7c]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0x10]
lea edx, [esp + 0x7c]
lea eax, [esp + 0x7c]
push ecx
push edx
mov ecx, ebp
mov dword [esp + 0x94], 0x43afa0
mov dword [esp + 0x98], eax
call fcn.00492dd0
test eax, eax
je 0x43b247
mov dword [esi + 0x20], 0xffffffff
mov eax, dword [esp + 0x4c]
push eax
mov byte [esp + 0x108], 0
call fcn.004bd4c4
mov ecx, dword [esp + 0x54]
push ecx
call fcn.004bd4c4
mov edx, dword [esp + 0x5c]
push edx
call fcn.004bd4c4
mov eax, dword [esp + 0x64]
push eax
call fcn.004bd4c4
mov ecx, dword [esp + 0x6c]
push ecx
jmp 0x43b4e3
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x98]
lea edx, [esp + 0x98]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
push edx
push eax
mov ecx, ebp
call fcn.004930f0
mov ecx, 0xb
xor eax, eax
lea edi, [esp + 0xd0]
lea edx, [esp + 0xd0]
rep stosd dword es:[edi], eax
mov ecx, 7
lea edi, [esp + 0xb4]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xb4]
push ecx
push edx
push eax
mov ecx, ebp
mov dword [esp + 0xfc], 1
call fcn.00493730
mov ecx, dword [esp + 0x10]
test eax, eax
push ecx
mov ecx, ebp
je 0x43b301
call fcn.00492f70
mov dword [esi + 0x20], 0xffffffff
mov edx, dword [esp + 0x4c]
push edx
mov byte [esp + 0x108], 0
call fcn.004bd4c4
mov eax, dword [esp + 0x54]
push eax
call fcn.004bd4c4
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.004bd4c4
mov edx, dword [esp + 0x64]
push edx
call fcn.004bd4c4
mov eax, dword [esp + 0x6c]
push eax
jmp 0x43b4e3
call fcn.00492f70
push 0x14
call fcn.004bd49b
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov byte [esp + 0x104], 2
je 0x43b333
mov edx, dword [esp + 0xb8]
mov ecx, eax
push edx
call fcn.00481d70
mov esi, eax
jmp 0x43b335
xor esi, esi
mov eax, dword [esp + 0x114]
mov byte [esp + 0x104], 1
test eax, eax
je 0x43b45a
mov eax, dword [0x4f83ec]
mov ecx, dword fs:[0x2c]
mov edi, dword [ecx + eax*4]
mov al, byte [edi + 0x508]
test al, al
je 0x43b37b
mov edx, dword [edi + 0x510]
mov eax, dword [edi + 0x514]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
jmp 0x43b38b
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0x3ff00000
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
push edx
mov ecx, 0x4f5e88
call fcn.00486000
call fcn.00470ad0
cmp eax, 8
jne 0x43b3eb
push 0
push 0
push 0xf0
push eax
mov eax, dword [edi + 0x2b4]
push eax
push esi
call fcn.00482a40
mov ebp, eax
add esp, 0x18
test ebp, ebp
je 0x43b3df
test esi, esi
je 0x43b3dd
mov ecx, esi
call fcn.00481dd0
push esi
call fcn.004bd4c4
add esp, 4
mov esi, ebp
mov al, byte [edi + 0x508]
test al, al
je 0x43b45a
jmp 0x43b44e
cmp eax, 0x10
mov al, byte [edi + 0x508]
jne 0x43b44a
test al, al
je 0x43b406
push 0x4f5e88
mov ecx, esi
call fcn.00481f80
cmp dword [esp + 0xac], 1
jle 0x43b45a
mov edi, dword [edi + 0x2b8]
test edi, edi
je 0x43b45a
push 0
push 0
push 0
push 0x10
push edi
push esi
call fcn.00482a40
mov edi, eax
add esp, 0x18
test edi, edi
je 0x43b45a
test esi, esi
je 0x43b446
mov ecx, esi
call fcn.00481dd0
push esi
call fcn.004bd4c4
add esp, 4
mov esi, edi
jmp 0x43b45a
test al, al
je 0x43b45a
push 0x4f5e88
mov ecx, esi
call fcn.00481f80
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x4c]
push edx
mov byte [esp + 0x108], 0
mov dword [ecx], esi
call fcn.004bd4c4
mov eax, dword [esp + 0x54]
push eax
call fcn.004bd4c4
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.004bd4c4
mov edx, dword [esp + 0x64]
push edx
call fcn.004bd4c4
mov eax, dword [esp + 0x6c]
push eax
call fcn.004bd4c4
add esp, 0x14
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
jmp 0x43b4f7
mov dword [esi + 0x20], edi
mov ecx, dword [esp + 0x4c]
mov byte [esp + 0x104], 0
push ecx
call fcn.004bd4c4
mov edx, dword [esp + 0x54]
push edx
call fcn.004bd4c4
mov eax, dword [esp + 0x5c]
push eax
call fcn.004bd4c4
mov ecx, dword [esp + 0x64]
push ecx
call fcn.004bd4c4
mov edx, dword [esp + 0x6c]
push edx
call fcn.004bd4c4
add esp, 0x14
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, 0x80004005
mov ecx, dword [esp + 0xfc]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xf8
ret 0xc