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

Disassembly:
mov ecx, dword [0x98cddc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x18]
cmp eax, dword [ecx + 8]
jbe 0x627af1
sub esp, 0x98
mov edx, dword [esp + 0x9c]
movzx ebx, byte [edx + 8]
test bl, bl
je 0x6276a2
mov ebx, dword [edx + 0x2c]
movzx ebp, byte [ebx + 0x61]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x627685
mov ebx, dword [ebx + 0x84]
test ebx, ebx
je 0x627685
mov ebx, dword [esp + 0xa0]
mov eax, dword [ebx]
test eax, eax
je 0x627668
mov ebp, 0x3b9aca00
mov ecx, edx
mul ebp
cmp edx, 0x2260f
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
setg bl
xchg esi, ebx
cmp eax, 0xf9290000
xchg edi, ebx
seta bl
xchg edi, ebx
and ebp, edi
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
jne 0x62761f
mov ebp, dword [ecx + 0x10]
test ebp, ebp
je 0x6275f4
mov ebp, dword [ebx + 0x20]
test ebp, ebp
je 0x6275f4
cmp ebp, 0xffffffff
je 0x6275f4
mov dword [esp], ecx
mov byte [esp + 4], 0x2f
call fcn.00613d60
lea eax, [0x6ec1a0]
mov dword [esp], eax
call fcn.0040bc10
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2b
lea ecx, [0x73ee7e]
mov dword [eax], ecx
lea ecx, [0x7a4344]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
add esp, 0x98
ret
mov dword [esp + 0x3c], eax
mov dword [esp + 0x50], edx
movzx ebp, word [ecx + 0x38]
mov esi, dword [0x9619c8]
mov edi, dword [0x9619cc]
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x40]
jmp 0x6276fa
mov dword [esp], ecx
mov byte [esp + 4], 0x2f
call fcn.00613d60
lea eax, [0x6ec1a0]
mov dword [esp], eax
call fcn.0040bc10
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x34
lea ecx, [0x741bf8]
mov dword [eax], ecx
lea ecx, [0x7a4344]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
add esp, 0x98
ret
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
add esp, 0x98
ret
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
add esp, 0x98
ret
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.00613d60
lea eax, [0x6ec1a0]
mov dword [esp], eax
call fcn.0040bc10
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2e
lea ecx, [0x740009]
mov dword [eax], ecx
lea ecx, [0x7a4344]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
add esp, 0x98
ret
lea eax, [edx + 1]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
cmp edx, edi
jge 0x627712
mov eax, dword [esi + edx*4]
cmp word [eax], bp
jne 0x6276eb
mov edx, eax
mov eax, dword [esp + 0x3c]
jmp 0x627714
xor edx, edx
test edx, edx
je 0x627aa5
mov ebp, dword [ecx + 0x88]
test ebp, ebp
je 0x627aa5
mov esi, dword [edx + 0xc]
lea edi, [esi - 1]
cmp edi, 0x13
jae 0x627ad8
mov edi, dword [0x960d4c]
cmp edi, esi
jbe 0x627acf
mov eax, dword [ecx + 0x8c]
mov edi, dword [ecx + 0x90]
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x48], ecx
mov ebx, dword [ebx + 8]
mov ecx, dword [0x960d48]
movzx ecx, byte [ecx + esi]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
lea eax, [0x72cb1d]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
call fcn.0063e590
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x6c], edx
mov ebx, dword [esp + 0x9c]
mov dword [esp], ebx
call fcn.00642110
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x24], ecx
mov ecx, dword [0x98d0b8]
test ecx, ecx
jne 0x6277f5
mov ecx, dword [esp + 0x6c]
jmp 0x627806
call fcn.00471ac0
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov ebx, dword [eax + 0x1c]
mov dword [edi + 4], ebx
mov dword [esp + 0x68], eax
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x9c]
mov ebx, dword [ecx + 0x2c]
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x627824
lea ebx, [0x74d628]
mov eax, dword [ebx]
mov edx, ebx
call eax
lea edi, [esp + 0x7c]
lea esi, [esp]
call fcn.0047222e
lea edi, [esp]
lea esi, [esp + 0x7c]
call fcn.0047222e
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x18], eax
call fcn.004bc900
lea edi, [esp + 0x7c]
lea esi, [esp + 0x1c]
call fcn.0047222e
lea edi, [esp + 0x54]
lea esi, [esp + 0x7c]
call fcn.0047222e
mov eax, dword [esp + 0x58]
nop
test eax, 0x80000000
je 0x6278a3
mov ecx, dword [esp + 0x54]
shl eax, 1
mov edx, ecx
shl ecx, 1
shr edx, 0x1f
or edx, eax
mov ebx, edx
shl edx, 1
shr ebx, 0x1f
shr ecx, 0x1f
or edx, ecx
add edx, 0xd7b17f80
adc ebx, 0xd
jmp 0x6278ab
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
add edx, 0x886e0900
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x70], edx
adc ebx, 0xfffffff1
mov dword [ecx + 0x74], ebx
mov edx, dword [esp + 0xa0]
mov ebx, dword [edx + 4]
mov dword [ecx + 0x78], ebx
mov ebx, dword [esp + 0x9c]
mov ebp, dword [ebx + 0x10]
test ebp, ebp
je 0x6278e6
cmp dword [edx + 0x20], 0xffffffff
xchg ebp, ebx
sete bl
xchg ebp, ebx
jmp 0x6278e8
xor ebp, ebp
xchg ebp, eax
mov byte [ecx + 0xc], al
xchg ebp, eax
mov ebp, dword [edx + 0x18]
mov eax, dword [edx + 0x1c]
mov edx, dword [edx + 0x14]
mov dword [ecx + 0x80], ebp
mov dword [ecx + 0x84], eax
mov ebp, dword [0x98d0b8]
test ebp, ebp
je 0x627919
call fcn.00471ac0
mov dword [edi], edx
mov ebp, dword [ecx + 0x7c]
mov dword [edi + 4], ebp
mov dword [ecx + 0x7c], edx
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x627a18
movzx edx, byte [edx + 0x120]
test dl, dl
je 0x627a18
nop
lea edi, [esp + 0x7c]
xor eax, eax
call fcn.00471d49
mov dword [esp + 0x7c], 9
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x94], ecx
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
inc ebx
mov ebp, dword [ecx]
cmp edx, ebx
jae 0x6279bc
mov dword [esp + 0x78], ecx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x706e00]
mov dword [esp + 0x10], eax
call fcn.0046cad0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x78]
mov dword [ebx + 8], eax
mov eax, dword [0x98d0b8]
test eax, eax
je 0x6279b4
call fcn.00471ac0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebp, ecx
mov ecx, ebx
mov ebx, edx
mov dword [ecx + 4], ebx
mov eax, dword [0x98d0b8]
imul ecx, ebx, 0x1c
lea edi, [ecx + ebp - 0x1c]
test eax, eax
je 0x6279f2
mov dword [esp + 0x74], edi
lea eax, [0x706e00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.0040eba0
mov edi, dword [esp + 0x74]
lea esi, [esp + 0x7c]
call fcn.0047221a
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
add esp, 0x98
ret
lea eax, [0x6ecf80]
mov dword [esp], eax
call fcn.0040bc10
mov eax, dword [0x98d0b8]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x627a3a
mov eax, dword [esp + 0x68]
jmp 0x627a45
call fcn.00471ab0
mov eax, dword [esp + 0x68]
mov dword [edi], eax
mov dword [esp + 0x70], ecx
mov dword [ecx], eax
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
call fcn.00622160
mov eax, dword [esp + 8]
test eax, eax
je 0x627a88
mov eax, dword [esp + 0x9c]
mov eax, dword [eax + 0x2c]
mov ecx, dword [eax + 0x84]
mov eax, dword [eax + 0x88]
mov ecx, dword [ecx + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
call ecx
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
add esp, 0x98
ret
mov dword [esp], ecx
mov byte [esp + 4], 0x50
call fcn.00613d60
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], ecx
add esp, 0x98
ret
mov eax, esi
mov ecx, edi
call fcn.00471b40
lea eax, [0x6e0660]
mov dword [esp], eax
lea eax, [0x7a3a60]
mov dword [esp + 4], eax
call fcn.0046ae10
nop
call fcn.004706b0
jmp fcn.00627500