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

Disassembly:
mov eax, 0x100cbb1c
call fcn.100bd27c
sub esp, 0x54
push ebp
mov ebp, ecx
call fcn.10047b37
test eax, eax
jne 0x10047b27
push ebx
xor ebx, ebx
cmp dword [ebp + 0xc], ebx
jne 0x10047558
push dword [esp + 0x78]
mov ecx, ebp
push dword [esp + 0x74]
call fcn.10047297
test eax, eax
jne 0x10047b26
mov ecx, dword [ebp + 8]
push esi
push edi
mov eax, dword [ecx]
call dword [eax + 0x10]
mov esi, ebx
mov dword [esp + 0x80], esi
mov edi, ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x78], edi
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x14], eax
xor eax, eax
inc eax
mov byte [esp + 0x6c], 4
cmp dword [ebp + 0x5c], eax
jbe 0x100475d5
mov edi, eax
lea ecx, [esp + 0x4c]
call fcn.100471d0
mov ebx, eax
mov ecx, ebx
call fcn.1000696e
mov ecx, ebx
call fcn.10006987
inc edi
cmp edi, dword [ebp + 0x5c]
jb 0x100475af
mov edi, dword [esp + 0x78]
xor eax, eax
inc eax
mov dword [esp + 0x20], eax
cmp dword [ebp + 0x5c], eax
jbe 0x10047659
mov esi, eax
push 0x10
call fcn.10003645
mov ebx, eax
pop ecx
test ebx, ebx
je 0x10047601
xor eax, eax
mov dword [ebx + 4], eax
mov dword [ebx], 0x100d64a4
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
jmp 0x10047603
xor ebx, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
test ebx, ebx
je 0x10047615
mov eax, dword [ebx]
push ebx
call dword [eax + 4]
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x58]
mov byte [esp + 0x6c], 5
mov eax, dword [eax + esi*4 - 4]
mov dword [ebx + 8], eax
lea eax, [esp + 0x20]
push eax
call fcn.100433d8
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x44]
call fcn.1004715e
mov eax, dword [ebx]
push ebx
mov byte [esp + 0x70], 4
call dword [eax + 8]
inc esi
cmp esi, dword [ebp + 0x5c]
jb 0x100475e0
mov esi, dword [esp + 0x80]
xor ebx, ebx
cmp dword [esp + 0x14], ebx
jbe 0x1004767e
mov esi, dword [esp + 0x14]
mov ecx, dword [ebp + 8]
push 0
push 0
push ebx
mov eax, dword [ecx]
call dword [eax + 0x14]
inc ebx
cmp ebx, esi
jb 0x10047665
mov esi, dword [esp + 0x80]
push 0x20
call fcn.10003645
pop ecx
test eax, eax
je 0x10047699
mov ecx, eax
call fcn.10046efa
mov ecx, eax
mov dword [esp + 0x10], eax
jmp 0x1004769f
xor ecx, ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], ecx
test ecx, ecx
je 0x100476b1
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov ecx, dword [esp + 0x10]
and dword [esp + 0x20], 0
xor ebx, ebx
mov dword [esp + 0x18], ebx
push dword [esp + 0x7c]
mov byte [esp + 0x70], 7
call fcn.10047ee4
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
push dword [esp + 0x84]
mov ecx, ebp
mov byte [esp + 0x70], 8
call fcn.100480d5
and dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10047843
mov ebx, dword [esp + 0x7c]
mov edi, eax
imul esi, eax, 0x18
mov ecx, dword [ebp + 8]
push ebx
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [eax]
mov dword [esp + 0x7c], ecx
test ecx, ecx
jne 0x10047726
mov ecx, dword [eax + 4]
mov dword [esp + 0x7c], ecx
and dword [esp + 0x1c], 0
mov eax, dword [ecx]
lea edx, [esp + 0x1c]
push edx
push 0x100d62ac
push ecx
mov byte [esp + 0x78], 9
call dword [eax]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1004774d
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
and dword [esp + 0x14], 0
mov ecx, dword [esp + 0x7c]
lea edx, [esp + 0x14]
push edx
push 0x100d615c
push ecx
mov eax, dword [ecx]
mov byte [esp + 0x78], 0xa
call dword [eax]
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx]
add eax, 0xfffffff0
add eax, esi
cmp dword [esp + 0x14], 0
mov dword [esp + 0x24], eax
je 0x100477fb
push 0x14
call fcn.10003645
mov edx, eax
mov dword [esp + 0x80], eax
pop ecx
test edx, edx
je 0x100477ae
xor eax, eax
mov dword [edx + 4], eax
mov dword [edx], 0x100d4c24
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
jmp 0x100477b4
xor edx, edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x30], edx
test edx, edx
je 0x100477c6
mov eax, dword [edx]
push edx
call dword [eax + 4]
mov edx, dword [esp + 0x7c]
and dword [edx + 0x10], 0
mov eax, dword [esp + 0x14]
push edx
push eax
mov byte [esp + 0x74], 0xb
mov ecx, dword [eax]
call dword [ecx + 0xc]
push dword [esp + 0x24]
mov ecx, dword [esp + 0x80]
call fcn.10009a85
mov ecx, dword [esp + 0x7c]
push ecx
mov byte [esp + 0x70], 0xa
mov eax, dword [ecx]
call dword [eax + 8]
jmp 0x10047802
mov ecx, eax
call fcn.100634f5
mov eax, dword [esp + 0x14]
mov byte [esp + 0x6c], 9
test eax, eax
je 0x10047815
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x6c], 8
test eax, eax
je 0x10047828
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc ebx
sub esi, 0x18
cmp ebx, edi
jb 0x1004770c
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x18]
mov ecx, dword [ebp + 8]
push 0
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [ebp + 8]
push dword [ecx + 0x60]
call fcn.10044a34
test al, al
jne 0x100478f9
push 0x30
call fcn.10003645
pop ecx
test eax, eax
je 0x10047877
mov ecx, eax
call fcn.10046ed5
mov edi, eax
jmp 0x10047879
xor edi, edi
push edi
lea ecx, [esp + 0x84]
call fcn.100093a0
push dword [esp + 0x98]
mov ecx, edi
call fcn.10047ec9
push 0x10
call fcn.10003645
mov esi, eax
pop ecx
test esi, esi
je 0x100478b5
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi], 0x100d64b4
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
jmp 0x100478b7
xor esi, esi
push esi
lea ecx, [esp + 0x7c]
call fcn.100093a0
push dword [esp + 0x90]
lea ecx, [esi + 8]
call fcn.100093a0
mov edx, dword [esp + 0x44]
xor ecx, ecx
mov dword [esi + 0xc], edi
test edx, edx
je 0x100478ee
mov esi, dword [esp + 0x40]
mov eax, dword [esi + ecx*4]
inc ecx
mov eax, dword [eax]
mov dword [eax + 0xc], edi
cmp ecx, edx
jb 0x100478e1
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x80]
cmp dword [ebp + 0x5c], 0
je 0x1004795c
push 0x18
call fcn.10003645
mov ebx, eax
mov dword [esp + 0x24], eax
pop ecx
test ebx, ebx
je 0x10047921
and dword [ebx + 4], 0
mov dword [ebx], 0x100d6464
and dword [ebx + 8], 0
jmp 0x10047927
xor ebx, ebx
mov dword [esp + 0x20], ebx
push ebx
lea ecx, [esp + 0x1c]
call fcn.100093a0
mov eax, dword [esp + 0x90]
lea ecx, [ebx + 8]
test edi, edi
cmovne eax, edi
push eax
call fcn.100093a0
and dword [ebx + 0x10], 0
lea ecx, [esp + 0x34]
and dword [ebx + 0x14], 0
mov ebx, dword [esp + 0x18]
push ebx
call fcn.10003027
xor eax, eax
inc eax
cmp dword [ebp + 0x5c], eax
jbe 0x10047983
mov edi, eax
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0x34]
mov eax, dword [eax + edi*4 - 4]
push dword [eax]
call fcn.10003027
inc edi
cmp edi, dword [ebp + 0x5c]
jb 0x10047966
mov edi, dword [esp + 0x78]
mov edx, dword [esp + 0x98]
test esi, esi
mov ecx, dword [ebp + 8]
cmovne edx, esi
push edx
push dword [esp + 0x38]
mov eax, dword [ecx]
lea edx, [esp + 0x30]
push edx
call dword [eax + 0x18]
mov dword [esp + 0x98], eax
test eax, eax
jne 0x10047a79
cmp dword [ebp + 0x5c], eax
je 0x100479cb
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x94]
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.1000eb6f
xor ecx, ecx
inc ecx
mov dword [esp + 0x84], ecx
cmp dword [ebp + 0x5c], ecx
jbe 0x10047a2c
mov eax, dword [esp + 0x4c]
push dword [esp + 0x90]
mov eax, dword [eax + ecx*4 - 4]
mov ecx, eax
mov dword [esp + 0x80], eax
call fcn.10006a6e
mov dword [esp + 0x98], eax
test eax, eax
jne 0x10047a79
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x94]
push dword [eax + 0x24]
push dword [eax + 0x20]
call fcn.1000eb6f
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
cmp ecx, dword [ebp + 0x5c]
jb 0x100479da
mov eax, dword [esp + 0x8c]
and dword [esp + 0x90], 0
and dword [eax], 0
and dword [eax + 4], 0
cmp dword [ebp + 0x44], 0
jbe 0x10047ab1
mov edi, dword [esp + 0x10]
lea ecx, [ebp + 0x40]
mov ebx, dword [esp + 0x90]
mov esi, eax
mov eax, dword [ebp + 0xa4]
push dword [eax + ebx*4]
call fcn.10043e8e
mov edx, eax
test edx, edx
jns 0x10047a82
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x1c]
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x10047a8b
mov ebp, dword [esp + 0x98]
jmp 0x10047ab3
mov ecx, dword [ebp + 8]
push edx
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, dword [esp + 0x88]
push edx
push eax
call fcn.1000eb6f
inc ebx
lea ecx, [ebp + 0x40]
cmp ebx, dword [ebp + 0x44]
jb 0x10047a58
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x18]
xor ebp, ebp
push dword [esp + 0x34]
call fcn.1000366d
mov byte [esp + 0x70], 6
pop ecx
test ebx, ebx
je 0x10047acc
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
mov ecx, dword [esp + 0x10]
mov byte [esp + 0x6c], 4
test ecx, ecx
je 0x10047adf
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
lea ecx, [esp + 0x58]
mov byte [esp + 0x6c], 3
call fcn.1004311a
lea ecx, [esp + 0x40]
call fcn.100262d4
lea ecx, [esp + 0x4c]
mov byte [esp + 0x6c], 1
call fcn.10046f50
mov byte [esp + 0x6c], 0
test edi, edi
je 0x10047b13
mov eax, dword [edi]
push edi
call dword [eax + 8]
or dword [esp + 0x6c], 0xffffffff
test esi, esi
je 0x10047b22
mov ecx, dword [esi]
push esi
call dword [ecx + 8]
pop edi
mov eax, ebp
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
pop ebp
mov dword fs:[0], ecx
leave
ret 0x24