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

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, ecx
push esi
push edi
mov esi, dword [ebx + 0xc4]
mov dword [ebp - 4], esi
test esi, esi
je 0x403d46
push dword [ebx + 0xcc]
push 0
push esi
call fcn.0040e2f0
mov edx, esi
add esp, 0xc
lea esi, [ebx + 0x30]
mov dword [edx], 3
lea edi, [edx + 8]
push 6
pop ecx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x60]
mov dword [edx + 0x128], eax
mov eax, dword [ebx + 0x64]
mov dword [edx + 0x12c], eax
mov eax, dword [ebx + 0x68]
mov dword [edx + 0x130], eax
mov eax, dword [ebx + 0x6c]
mov dword [edx + 0x134], eax
mov eax, dword [ebx + 0x70]
mov dword [edx + 0x138], eax
mov eax, dword [ebx + 0x74]
mov dword [edx + 0x13c], eax
lea eax, [ebx + 0x48]
cmp dword [eax + 0x14], 0x10
jb 0x403ba6
mov eax, dword [eax]
push eax
lea eax, [edx + 0x20]
push eax
call fcn.00411360
pop ecx
pop ecx
lea edi, [ebx + 0x78]
mov ecx, edi
call fcn.0040546a
test eax, eax
je 0x403beb
call fcn.0040546a
push eax
call fcn.00401551
mov esi, dword [ebp - 4]
push eax
lea eax, [esi + 0x144]
push eax
call fcn.0040dc00
add esp, 0xc
mov ecx, edi
call fcn.0040546a
mov dword [esi + 0x140], eax
call fcn.00402ed2
test eax, eax
jne 0x403d49
mov eax, dword [ebx + 0x24]
xor edx, edx
mov ecx, dword [ebx + 0x20]
sub eax, ecx
mov dword [ebp - 4], edx
test eax, 0xfffffff8
jle 0x403d37
mov esi, dword [ebx + 0xc4]
mov edi, dword [ecx + edx*8]
test esi, esi
je 0x403d46
push dword [ebx + 0xcc]
push 0
push esi
call fcn.0040e2f0
mov dword [esi], 4
add esp, 0xc
mov eax, dword [edi + 0x18]
mov dword [esi + 0x110], eax
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x114], eax
mov eax, dword [edi + 0x20]
mov dword [esi + 0x118], eax
mov eax, dword [edi + 0x24]
mov dword [esi + 0x11c], eax
mov eax, dword [edi + 0x28]
mov dword [esi + 0x120], eax
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x124], eax
mov eax, dword [edi + 0x30]
mov dword [esi + 0x128], eax
mov eax, dword [edi + 0x34]
mov dword [esi + 0x12c], eax
mov eax, dword [edi + 0x38]
mov dword [esi + 0x130], eax
mov eax, dword [edi + 0x3c]
mov dword [esi + 0x134], eax
mov eax, dword [edi + 0x40]
mov dword [esi + 0x138], eax
mov eax, dword [edi + 0x44]
mov dword [esi + 0x13c], eax
mov eax, dword [edi + 0x48]
mov dword [esi + 0x140], eax
mov eax, dword [edi + 0x4c]
mov dword [esi + 0x144], eax
mov eax, dword [edi + 0x50]
mov dword [esi + 0x148], eax
mov eax, dword [edi + 0x54]
mov dword [esi + 0x14c], eax
mov eax, edi
cmp dword [edi + 0x14], 0x10
jb 0x403cd2
mov eax, dword [edi]
push eax
lea eax, [esi + 8]
push eax
call fcn.00411360
pop ecx
pop ecx
add edi, 0x58
mov ecx, edi
call fcn.0040546a
test eax, eax
je 0x403d14
call fcn.0040546a
push eax
call fcn.00401551
push eax
lea eax, [esi + 0x154]
push eax
call fcn.0040dc00
add esp, 0xc
mov ecx, edi
call fcn.0040546a
mov dword [esi + 0x150], eax
call fcn.00402ed2
test eax, eax
jne 0x403d49
mov eax, dword [ebx + 0x24]
mov edx, dword [ebp - 4]
mov ecx, dword [ebx + 0x20]
inc edx
sub eax, ecx
mov dword [ebp - 4], edx
sar eax, 3
cmp edx, eax
jl 0x403c10
lea ecx, [ebx + 0x13c]
call fcn.0040c23f
xor eax, eax
jmp 0x403d49
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret