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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18
push edi
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0xb828]
mov eax, dword [ecx + 0x3c]
and eax, 0xfff00000
cmp eax, 0x50000000
je 0x471309
cmp eax, 0x10500000
je 0x471309
cmp eax, 0x10600000
je 0x471309
cmp eax, 0x10300000
je 0x471309
cmp eax, 0x10700000
je 0x471309
mov eax, 1
pop edi
mov esp, ebp
pop ebp
ret 4
cmp dword [ecx + 8], 1
jne 0x4712fd
mov edx, dword [ecx + 0xc]
mov eax, dword [edx]
push esi
mov esi, dword [eax + 0x74]
mov dword [ebp - 0x10], edx
mov byte [ebp - 1], 0
mov dword [ebp - 0x14], esi
cmp esi, 0xffffffff
jne 0x471334
pop esi
mov eax, 1
pop edi
mov esp, ebp
pop ebp
ret 4
mov eax, dword [edi + 0x14]
push ebx
mov ebx, dword [eax + esi*4]
mov ecx, dword [ebx + 0x3c]
and ecx, 0xfff00000
mov dword [ebp - 0x18], ebx
cmp ecx, 0x10000000
jne 0x471457
mov eax, dword [ebx + 8]
mov dword [ebp - 8], 0
test eax, eax
jbe 0x4713b7
mov edx, dword [ebx + 4]
mov edi, dword [ebx + 0xc]
sub edi, edx
mov dword [ebp - 0xc], eax
lea esp, [esp]
mov ecx, dword [edx]
mov eax, dword [edi + edx]
mov esi, dword [ecx + 0x2c]
cmp esi, dword [eax + 0x2c]
jne 0x47139d
mov esi, dword [ecx + 0x28]
cmp esi, dword [eax + 0x28]
jne 0x47139d
mov esi, dword [ecx + 0x10]
cmp esi, dword [eax + 0x10]
jne 0x47139d
mov esi, dword [ecx + 0x48]
cmp esi, dword [eax + 0x48]
jne 0x47139d
mov ecx, dword [ecx + 0x24]
cmp ecx, dword [eax + 0x24]
je 0x4713a8
mov eax, dword [eax + 0x6c]
cmp eax, dword [ebp - 8]
jbe 0x4713a8
mov dword [ebp - 8], eax
add edx, 4
sub dword [ebp - 0xc], 1
jne 0x471370
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
mov eax, dword [ebx + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 0x10]
mov edi, dword [edx]
cmp ecx, dword [edi + 0x10]
jne 0x4713e7
mov edx, dword [eax + 0x28]
cmp edx, dword [edi + 0x28]
jne 0x4713e7
mov edx, dword [eax + 0x24]
cmp edx, dword [edi + 0x24]
jne 0x4713e7
mov eax, dword [eax + 0x2c]
cmp eax, dword [edi + 0x2c]
je 0x4713e7
cmp esi, dword [edi + 0x78]
je 0x4713e7
mov byte [ebp - 1], 1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb828]
mov edx, dword [ebp - 8]
cmp edx, dword [eax + 0x10]
ja 0x471457
cmp byte [ebp - 1], 0
jne 0x471403
cmp esi, dword [edi + 0x78]
jne 0x471457
mov esi, dword [ebp + 8]
test byte [esi + 0xac], 1
je 0x471425
cmp dword [ebx + 8], 0
je 0x471457
mov eax, dword [ebx + 0xc]
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
cmp eax, dword [esi + 0x3684]
je 0x471457
mov eax, dword [ecx + 8]
and eax, 4
xor ecx, ecx
or eax, ecx
jne 0x471457
cmp dword [ebx], eax
jbe 0x47144c
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
mov ecx, dword [ebx + 4]
lea ecx, [ecx]
cmp dword [ecx], edx
jne 0x471457
inc eax
add ecx, 4
cmp eax, dword [ebx]
jb 0x471440
mov edx, dword [ebx + 4]
mov eax, dword [edx]
cmp dword [eax + 0x48], 0
je 0x471465
pop ebx
pop esi
mov eax, 1
pop edi
mov esp, ebp
pop ebp
ret 4
call fcn.0050cb40
test eax, eax
je 0x471479
call fcn.0050a750
mov edi, eax
test edi, edi
jne 0x471487
pop ebx
pop esi
mov eax, 0x8007000e
pop edi
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esi + 0xb828]
mov esi, dword [ecx + 0x3c]
mov ecx, dword [ecx]
xor edx, edx
cmp byte [ebp - 1], dl
push 1
setne dl
push edi
mov eax, esi
add edx, dword [ebx + 8]
call fcn.0050a980
mov esi, eax
test esi, esi
jge 0x4714bf
mov eax, edi
call fcn.0046f000
pop ebx
mov eax, esi
pop esi
pop edi
mov esp, ebp
pop ebp
ret 4
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0xb828]
mov ecx, dword [eax + 0x34]
mov dword [edi + 0x34], ecx
mov edx, dword [eax + 0x38]
mov dword [edi + 0x38], edx
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
push 0
push edi
call fcn.00467080
cmp byte [ebp - 1], 0
je 0x4714fc
mov eax, dword [esi + 0xb828]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebx + 8]
mov eax, dword [edi + 0xc]
mov ecx, dword [ecx]
mov dword [eax + edx*4], ecx
xor ebx, ebx
mov dword [ebp - 8], ebx
cmp dword [edi + 8], ebx
jbe 0x471556
mov ecx, 1
mov dword [ebp - 0x10], ecx
mov edi, edi
cmp ecx, dword [edi + 8]
jae 0x471549
mov eax, dword [edi + 0xc]
mov edx, dword [eax + ebx*4]
mov esi, dword [eax + ecx*4]
mov ebx, dword [edx + 0x2c]
cmp ebx, dword [esi + 0x2c]
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x14], esi
jbe 0x471535
mov dword [eax + ecx*4], edx
mov eax, dword [edi + 0xc]
mov dword [eax + ebx*4], esi
mov edx, dword [edx + 0x2c]
cmp edx, dword [esi + 0x2c]
je 0x47159c
inc ecx
cmp ecx, dword [edi + 8]
jb 0x471515
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp + 8]
inc ebx
inc ecx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x10], ecx
cmp ebx, dword [edi + 8]
jb 0x471510
mov eax, dword [esi + 0xb828]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [edi + 4]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
or edx, 0xffffffff
mov ecx, edi
call fcn.004670b0
mov esi, dword [esi + 0xb828]
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0x10]
mov ebx, dword [ecx + 0x10]
cmp eax, ebx
jae 0x4715e0
mov edx, dword [ecx + 0x14]
cmp dword [edx + eax*4], esi
jne 0x4715e0
mov ebx, eax
jmp 0x471602
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0xb828]
test eax, eax
je 0x4715b0
mov eax, dword [eax + 0x38]
test eax, eax
jne 0x4715b2
xor eax, eax
push 0x43e2bc
mov ecx, 0x12d6
mov edx, eax
call fcn.004f47c0
add esp, 4
mov esi, edi
call fcn.0050a890
call fcn.0050cb90
pop ebx
pop esi
mov eax, 0x80004005
pop edi
mov esp, ebp
pop ebp
ret 4
test ebx, ebx
jbe 0x4715fc
mov eax, dword [ecx + 0x14]
lea eax, [eax + ebx*4]
lea ebx, [ebx]
sub eax, 4
dec ebx
cmp dword [eax], esi
je 0x4715fd
test ebx, ebx
ja 0x4715f0
dec ebx
cmp ebx, 0xffffffff
je 0x47161c
call fcn.0050a890
call fcn.0050cb90
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov dword [ecx + ebx*4], edi
mov dword [edi + 0x10], ebx
or dword [eax + 0x18], 6
mov eax, dword [ebp - 0x18]
xor ecx, ecx
pop ebx
pop esi
mov dword [eax + 0x3c], ecx
mov dword [eax], ecx
mov dword [eax + 8], ecx
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret 4