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

Disassembly:
sub esp, 0xa8
push ebx
mov ebx, ecx
push ebp
xor ebp, ebp
cmp dword [ebx + 0x1d0c], ebp
je 0x47d404
mov eax, dword [ebx + 4]
push esi
push edi
push 0x1c2
mov eax, dword [eax + 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x130]
mov ecx, dword [ebx + 4]
push ebp
call fcn.0046a6e0
mov edx, dword [ebx + 0x9910]
mov ecx, dword [ebx + 4]
push edx
call fcn.0046a6c0
mov eax, dword [ebx + 0x9914]
mov ecx, dword [ebx + 4]
push eax
call fcn.0046a6a0
lea ecx, [esp + 0x78]
push ecx
call fcn.0044f660
mov ecx, 0x10
mov esi, eax
lea edi, [esp + 0x3c]
add esp, 4
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 4]
lea edx, [esp + 0x38]
push edx
call fcn.00469fe0
mov eax, dword [ebx + 0x1d0c]
mov dword [esp + 0x28], ebp
cmp eax, ebp
mov dword [esp + 0x24], ebp
jle 0x47d3db
lea eax, [ebx + 0x1b0c]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x34], esi
mov eax, dword [esi + 8]
cmp eax, ecx
je 0x47d23c
mov ecx, dword [ebx + 4]
cmp eax, 1
mov dword [esp + 0x28], eax
jne 0x47d221
push 2
call fcn.0046a630
mov ecx, dword [ebx + 4]
push 4
call fcn.0046a650
push ebp
jmp 0x47d234
push 5
call fcn.0046a630
mov ecx, dword [ebx + 4]
push 6
call fcn.0046a650
push 1
mov ecx, dword [ebx + 4]
call fcn.0046a670
mov eax, dword [esi + 0x20]
mov dword [esp + 0x2c], ebp
cmp eax, ebp
jle 0x47d3b9
mov dword [esp + 0x1c], ebp
mov ebp, dword [esi + 0xc]
mov edx, dword [esp + 0x1c]
add ebp, edx
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x47d398
mov ecx, dword [ebp]
mov esi, eax
and eax, 0xff
push 0
sar esi, 8
mov edi, eax
test ecx, ecx
mov dword [esp + 0x24], edi
je 0x47d283
mov edx, dword [ecx]
call dword [edx + 0x14]
jmp 0x47d28b
mov ecx, dword [ebx + 4]
call fcn.0046ad41
test esi, esi
mov dword [esp + 0x14], 0
jle 0x47d322
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], 0x100
lea edx, [eax*4]
lea eax, [ebx + 0x1d10]
mov ecx, dword [ebp + 0xc]
mov edi, eax
add eax, 0x70
mov ecx, dword [edx + ecx]
add edx, 4
lea esi, [ecx + 0x244]
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x30]
dec ecx
mov dword [esp + 0x30], ecx
jne 0x47d2b8
mov eax, dword [esp + 0x14]
push 0x1c
add eax, 0x100
mov ecx, dword [ebx + 4]
mov dword [esp + 0x18], eax
lea eax, [ebx + 0x1d10]
push eax
lea eax, [ebx + 0x8d10]
push 0x65
push eax
push 0x200
push 0x400
push 0
push 4
call fcn.0046aa30
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0x10], eax
jne 0x47d29f
mov edi, dword [esp + 0x20]
test edi, edi
je 0x47d38d
jle 0x47d363
mov edx, dword [esp + 0x14]
lea eax, [ebx + 0x1d10]
shl edx, 2
mov dword [esp + 0x10], edi
mov ecx, dword [ebp + 0xc]
mov edi, eax
add eax, 0x70
mov ecx, dword [edx + ecx]
add edx, 4
lea esi, [ecx + 0x244]
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x10]
dec ecx
mov dword [esp + 0x10], ecx
jne 0x47d339
mov edi, dword [esp + 0x20]
lea ebp, [eax + edx + 0x1d]
add byte [eax], al
push 0x1c
push edx
lea eax, [ebx + 0x8d10]
push 0x65
lea ecx, [edi + edi]
push eax
lea edx, [edi*4]
push ecx
mov ecx, dword [ebx + 4]
push edx
push 0
push 4
call fcn.0046aa30
mov esi, dword [esp + 0x34]
mov dword [ebp + 0x14], 0
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esi + 0x20]
inc eax
add edx, 0x18
cmp eax, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], edx
jl 0x47d24f
xor ebp, ebp
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov ecx, dword [ebx + 0x1d0c]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], edx
jl 0x47d1ec
mov ecx, dword [ebx + 4]
push 5
call fcn.0046a630
mov ecx, dword [ebx + 4]
push 6
call fcn.0046a650
mov ecx, dword [ebx + 4]
push 1
call fcn.0046a6e0
mov ecx, dword [ebx + 4]
push ebp
call fcn.0046a670
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0xa8
ret 4