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

Disassembly:
sub esp, 0x54
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov eax, dword [esi + 0x88]
mov dword [esp + 0x18], esi
cmp dword [eax + 0x90], ebx
jne 0x4736cd
mov ecx, dword [esp + 0x68]
mov ecx, dword [ecx + 8]
cmp ecx, ebx
mov dword [esp + 0x60], ecx
jne 0x473017
push 0xffffffffffffffff
push ebx
push 0x5459
call fcn.004dad51
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 4
xor eax, eax
cmp ecx, ebx
mov dword [esp + 0x50], eax
jle 0x4736cd
mov edx, dword [esp + 0x68]
mov ecx, dword [edx + 4]
mov ebp, dword [ecx + eax*8 + 4]
lea eax, [ecx + eax*8]
mov edi, dword [ebp - 8]
mov eax, dword [eax]
cmp edi, ebx
jle 0x47361f
cmp eax, 0xe129
jne 0x4731f1
lea edx, [esp + 0x14]
lea eax, [esp + 0x10]
push edx
lea ecx, [esp + 0x20]
push eax
push ecx
lea edx, [esp + 0x2c]
push 0x55f810
push edx
push 0x53549c
push 0x5354a0
push 0x5354a4
push 0x52a620
push ebp
mov byte [esp + 0x44], bl
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], ebx
mov byte [esp + 0x48], 1
call fcn.004bec5c
push ebx
call fcn.0041fbb0
mov ecx, dword [0x5354a4]
mov edi, dword [0x5354a0]
mov esi, dword [0x53549c]
mov eax, 0x30
sub ecx, eax
mov dl, byte [esp + 0x4c]
mov dword [0x5354a4], ecx
mov ecx, dword [0x55f810]
sub edi, eax
sub esi, eax
sub ecx, eax
mov al, byte [esp + 0x48]
add al, 0xd0
add dl, 0xd0
mov byte [esp + 0x48], al
mov eax, dword [esp + 0x3c]
inc eax
mov dword [0x5354a0], edi
push eax
mov dword [0x53549c], esi
mov byte [esp + 0x50], dl
mov dword [0x55f810], ecx
call fcn.004d2ddc
mov ecx, dword [esp + 0x44]
mov edi, eax
inc ecx
mov dword [esp + 0x7c], edi
push ecx
call fcn.004d2ddc
mov ecx, dword [esp + 0x44]
lea esi, [ebp + 0x16]
mov edx, ecx
mov dword [esp + 0x7c], eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x80]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x44]
mov edi, eax
mov byte [edx + ecx], bl
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
lea esi, [edx + ebp + 0x16]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x48]
mov byte [eax + ecx], bl
mov edx, dword [esp + 0x44]
lea eax, [edx + edx + 2]
push eax
call fcn.004d2ddc
mov ecx, dword [esp + 0x4c]
mov dword [0x535498], eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.004d2ddc
mov ecx, dword [0x535498]
mov edx, dword [esp + 0x88]
add esp, 0x3c
mov dword [0x535494], eax
mov eax, dword [esp + 0x10]
mov esi, dword [0x4fd45c]
push eax
push ecx
push eax
mov eax, dword [0x5355c4]
push edx
push ebx
push eax
call esi
mov ecx, dword [0x535498]
mov word [ecx + eax*2], bx
mov eax, dword [esp + 0x14]
mov edx, dword [0x535494]
mov ecx, dword [0x5355c4]
push eax
push edx
push eax
mov eax, dword [esp + 0x54]
push eax
push ebx
push ecx
call esi
mov edx, dword [0x535494]
mov word [edx + eax*2], bx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
and eax, 0xff
and ecx, 0xff
push eax
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00463630
mov esi, dword [esp + 0x18]
jmp 0x473664
cmp eax, 0xe124
jne 0x473309
lea edx, [esp + 0x14]
lea eax, [esp + 0x24]
push edx
push 0x55f810
push eax
push 0x53549c
push 0x5354a0
push 0x5354a4
push 0x52a610
push ebp
mov dword [esp + 0x34], ebx
mov byte [esp + 0x44], 1
call fcn.004bec5c
mov ecx, dword [0x5354a4]
mov edi, dword [0x5354a0]
mov esi, dword [0x53549c]
mov dl, byte [esp + 0x44]
mov eax, 0x30
add dl, 0xd0
sub ecx, eax
sub edi, eax
mov dword [0x5354a4], ecx
mov ecx, dword [0x55f810]
sub esi, eax
sub ecx, eax
push 1
mov dword [0x5354a0], edi
mov dword [0x53549c], esi
mov byte [esp + 0x48], dl
mov dword [0x55f810], ecx
call fcn.0041fbb0
mov ecx, dword [esp + 0x38]
inc ecx
push ecx
call fcn.004d2ddc
mov ecx, dword [esp + 0x3c]
lea esi, [ebp + 0xd]
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [esp + 0x74], eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x3c]
mov byte [eax + ecx], bl
mov edx, dword [esp + 0x3c]
lea eax, [edx + edx + 2]
push eax
call fcn.004d2ddc
mov ecx, dword [esp + 0x40]
add esp, 0x2c
mov edx, dword [0x5355c4]
mov dword [0x535498], eax
push ecx
push eax
push ecx
mov ecx, dword [esp + 0x58]
push ecx
push ebx
push edx
call dword [0x4fd45c]
mov ecx, dword [0x535498]
mov word [ecx + eax*2], bx
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
and edx, 0xff
push edx
call fcn.00462a90
cmp eax, ebx
je 0x4736c8
mov esi, dword [esp + 0x18]
jmp 0x473664
cmp eax, 0x8040
jne 0x47350c
lea eax, [esp + 0x28]
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x34]
push edx
lea ecx, [esp + 0x3c]
push eax
lea edx, [esp + 0x44]
push ecx
lea eax, [esp + 0x4c]
push edx
lea ecx, [esp + 0x54]
push eax
lea edx, [esp + 0x5c]
push ecx
lea eax, [esp + 0x64]
push edx
push eax
push 0x52a5f4
push ebp
mov byte [esp + 0x5c], bl
mov byte [esp + 0x60], bl
mov byte [esp + 0x64], bl
mov byte [esp + 0x68], bl
mov byte [esp + 0x6c], bl
mov byte [esp + 0x70], bl
mov byte [esp + 0x74], bl
mov dword [esp + 0x58], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
call fcn.004bec5c
mov cl, byte [esp + 0x74]
mov al, byte [esp + 0x70]
mov dl, byte [esp + 0x6c]
add cl, 0xd0
mov byte [esp + 0x74], cl
mov cl, byte [esp + 0x68]
add cl, 0xd0
add al, 0xd0
mov byte [esp + 0x68], cl
mov cl, byte [esp + 0x5c]
add dl, 0xd0
add cl, 0xd0
mov byte [esp + 0x70], al
mov al, byte [esp + 0x64]
mov byte [esp + 0x6c], dl
mov dl, byte [esp + 0x60]
mov byte [esp + 0x5c], cl
mov ecx, dword [esp + 0x44]
add al, 0xd0
add dl, 0xd0
inc ecx
mov byte [esp + 0x64], al
push ecx
mov byte [esp + 0x64], dl
call fcn.004d2ddc
mov edx, dword [esp + 0x44]
mov edi, eax
inc edx
mov dword [esp + 0x7c], edi
push edx
call fcn.004d2ddc
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x60]
inc eax
push eax
call fcn.004d2ddc
mov ecx, dword [esp + 0x50]
lea esi, [ebp + 0x1f]
mov edx, ecx
mov dword [esp + 0x90], eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x84]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x50]
mov byte [edx + ecx], bl
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x88]
lea esi, [edx + ebp + 0x1f]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x88]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x4c]
mov byte [edx + ecx], bl
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x64]
add edi, esi
lea esi, [edi + ebp + 0x1f]
mov ebp, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x64]
mov byte [eax + ecx], bl
mov ecx, dword [esp + 0x68]
and ecx, 0xff
push ecx
mov ecx, dword [esp + 0x70]
and ecx, 0xff
push ecx
mov ecx, dword [esp + 0x78]
and ecx, 0xff
push ecx
mov ecx, dword [esp + 0x80]
and ecx, 0xff
push ecx
mov ecx, dword [esp + 0x88]
and ecx, 0xff
push ecx
mov ecx, dword [esp + 0x90]
and ecx, 0xff
push ecx
mov ecx, dword [esp + 0x98]
and ecx, 0xff
push ecx
push eax
push edx
mov edx, dword [esp + 0xa8]
push edx
call fcn.00423b10
mov eax, dword [esp + 0xac]
add esp, 0x64
push eax
call fcn.004d2e05
mov ecx, dword [esp + 0x50]
push ecx
call fcn.004d2e05
mov edx, dword [esp + 0x5c]
push edx
call fcn.004d2e05
mov esi, dword [esp + 0x24]
add esp, 0xc
jmp 0x473664
lea eax, [edi + edi + 2]
push eax
call fcn.004d2ddc
mov ecx, dword [0x5355c4]
add esp, 4
mov dword [esp + 0x4c], eax
push edi
push eax
push edi
push ebp
push ebx
push ecx
call dword [0x4fd45c]
mov edi, eax
mov eax, dword [0x52a76c]
cmp eax, ebx
jne 0x47359d
mov edx, dword [esi + 0x54]
mov eax, dword [esi + 0x58]
push edx
push eax
lea ecx, [esp + 0x64]
push edi
lea edx, [esp + 0x64]
push ecx
mov ecx, dword [esi + 0x88]
push edx
call fcn.004515c0
mov eax, dword [esi + 0x58]
mov ecx, dword [esp + 0x58]
mov ebp, dword [esi + 0x54]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x88]
mov dword [eax + 0x17c], ebp
mov ebp, dword [esp + 0x54]
mov dword [eax + 0x180], ecx
mov ecx, 1
mov dword [eax + 0x178], ebp
mov dword [eax + 0x184], edx
mov dword [eax + 0x188], ecx
mov dword [eax + 0xf8], ecx
mov ecx, dword [esi + 0x88]
cmp dword [ecx + 0xf8], ebx
je 0x4735cf
mov edx, dword [esp + 0x4c]
push 1
push 1
push ebx
push edi
push edx
mov ecx, esi
call fcn.00475b50
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.004d2e05
add esp, 4
jmp 0x473664
mov ecx, esi
call fcn.00461620
mov ecx, dword [esp + 0x4c]
mov edx, dword [esi + 0x54]
mov ebp, eax
mov eax, dword [esi + 0x70]
push eax
mov eax, dword [esi + 0x58]
push edi
push ecx
mov ecx, dword [esi + 0x88]
push edx
push eax
call fcn.0044ec40
mov ecx, dword [esi + 0x88]
add ebp, eax
push 1
push ebp
call fcn.00451c00
push ebx
push ebx
push 1
mov ecx, esi
call fcn.00467e90
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.004d2e05
add esp, 4
jmp 0x473664
cmp eax, 9
je 0x4736bc
cmp eax, 0xd
je 0x4736bc
cmp eax, 0x3c
je 0x4736bc
cmp eax, ebx
je 0x473664
cmp eax, 0x81fb
jne 0x473650
push 0x20
mov ecx, esi
call fcn.00472000
jmp 0x473664
cmp eax, 0x31f9
jne 0x47367a
push 1
mov ecx, esi
call fcn.004628f0
cmp eax, ebx
je 0x4736cd
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
inc eax
cmp eax, ecx
mov dword [esp + 0x50], eax
jge 0x4736cd
jmp 0x473025
cmp eax, 0x8034
jne 0x473684
push ebx
jmp 0x473659
cmp eax, 0x8145
jne 0x473696
push 1
mov ecx, esi
call fcn.004772a0
jmp 0x473660
cmp eax, 0x8146
jne 0x4736a7
push ebx
mov ecx, esi
call fcn.004772a0
jmp 0x473660
mov edx, dword [esi]
and eax, 0xffff
or eax, 0x10000
push ebx
push eax
mov ecx, esi
call dword [edx + 0x78]
jmp 0x473664
push ebx
push ebx
push eax
mov ecx, esi
call fcn.00457770
jmp 0x473664
call fcn.00420790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 4