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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x417740
mov ebx, ecx
lea eax, [ebp - 0x18]
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x401fdb
shl eax, 3
test eax, eax
je 0x401fdb
push 8
push eax
push dword [ebx + 0x20]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x401ff7
shl eax, 3
test eax, eax
je 0x401ff7
push 8
push eax
push dword [ebx + 0x30]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0x40]
test eax, eax
je 0x402013
shl eax, 3
test eax, eax
je 0x402013
push 8
push eax
push dword [ebx + 0x3c]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x40202d
shl eax, 4
je 0x40202d
push 8
push eax
push dword [ebx + 0x48]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0x58]
test eax, eax
je 0x402047
shl eax, 4
je 0x402047
push 8
push eax
push dword [ebx + 0x54]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x402061
shl eax, 4
je 0x402061
push 8
push eax
push dword [ebx + 0x60]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x40207d
shl eax, 3
test eax, eax
je 0x40207d
push 8
push eax
push dword [ebx + 0x6c]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0x7c]
test eax, eax
je 0x402099
shl eax, 3
test eax, eax
je 0x402099
push 8
push eax
push dword [ebx + 0x78]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x4020be
shl eax, 2
lea eax, [eax + eax*2]
test eax, eax
je 0x4020be
push 4
push eax
push dword [ebx + 0x90]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0xa0]
test eax, eax
je 0x4020e0
shl eax, 3
test eax, eax
je 0x4020e0
push 4
push eax
push dword [ebx + 0x9c]
call fcn.0043c2a0
add esp, 0xc
mov esi, dword [ebx + 0xb8]
test esi, esi
je 0x402125
mov edi, dword [ebx + 0xb0]
shl esi, 5
add edi, 0x14
jmp 0x402108
add edi, 0x20
add esi, 0xffffffe0
je 0x402125
mov eax, dword [edi]
test eax, eax
je 0x402100
shl eax, 3
test eax, eax
je 0x402100
push 4
push eax
push dword [edi - 4]
call fcn.0043c2a0
add esp, 0xc
jmp 0x402100
mov eax, dword [ebx + 0xb4]
test eax, eax
je 0x402145
shl eax, 5
je 0x402145
push 4
push eax
push dword [ebx + 0xb0]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0xc0]
test eax, eax
je 0x402167
shl eax, 3
test eax, eax
je 0x402167
push 4
push eax
push dword [ebx + 0xbc]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebx + 0xe8]
mov dword [ebp - 0x20], ebx
test eax, eax
je 0x402191
lock dec dword [eax]
jne 0x402191
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 1
add eax, 0xe8
push eax
call fcn.00435ef0
add esp, 4
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0xf0]
test eax, eax
je 0x4021bb
lock dec dword [eax]
jne 0x4021bb
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 0
add eax, 0xf0
push eax
call fcn.00435ef0
add esp, 4
mov esi, dword [ebp - 0x20]
mov eax, dword [esi + 0x100]
test eax, eax
je 0x4021e0
shl eax, 3
test eax, eax
je 0x4021e0
push 4
push eax
push dword [esi + 0xfc]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x10c]
test eax, eax
je 0x402205
shl eax, 3
lea eax, [eax + eax*2]
test eax, eax
je 0x402205
push 8
push eax
push dword [esi + 0x108]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [esi + 0x118]
test eax, eax
je 0x402227
shl eax, 3
test eax, eax
je 0x402227
push 4
push eax
push dword [esi + 0x114]
call fcn.0043c2a0
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret