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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1a4
mov edi, ecx
nop
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x643c00
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
call fcn.00638160
mov esi, eax
movzx ebx, byte [0x889bec]
mov ecx, dword [edi + 0x78]
mov eax, dword [ecx + 0x2fc]
mov dword [ebp - 0x24], eax
and dword [edi], 0xfffffffe
push 0
push dword [edi + 0x24]
call fcn.0060e030
test eax, eax
je 0x626fe1
mov edx, ebx
mov dword [ebp - 0x3c], ebx
mov ebx, dword [edi]
mov eax, dword [0x8634ac]
mov ecx, dword [0x863490]
sub ecx, edx
add ecx, eax
mov dword [ebp - 0x20], esi
and ebx, 2
shr ebx, 1
mov eax, esi
add esi, ecx
add esi, 0x23cf
add eax, 0x23cf
mov dword [ebp - 0x4c], eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x84]
mov ecx, edi
push ebx
push eax
call esi
mov esi, eax
mov eax, dword [0x8652e4]
add eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [0x7e6180]
mov dword [ebp - 0x44], eax
mov eax, dword [0x8652e8]
add eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [edi + 0x54], esi
or byte [edi], 8
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x28], eax
mov eax, dword [0x8634a8]
add eax, dword [ebp - 0x20]
mov ecx, dword [0x863494]
or ecx, dword [ebp - 0x3c]
lea ebx, [ecx + eax]
add ebx, 0x23cf
or esi, 1
mov ecx, ebx
call dword [0x834360]
mov ecx, edi
push dword [ebp + 8]
push dword [ebp - 0x28]
lea eax, [ebp - 0x80]
push eax
push esi
call ebx
mov byte [ebp - 0x20], al
mov ecx, dword [edi + 0x78]
push dword [ebp + 8]
mov dword [ebp - 0x2c], edi
push dword [edi + 0x24]
call fcn.005e0c40
test al, al
je 0x626e25
nop
mov eax, dword [ebp - 0x2c]
mov ebx, dword [eax + 0x24]
mov esi, dword [0x8634a4]
add esi, dword [ebp - 0x4c]
add esi, dword [ebp - 0x3c]
add esi, dword [0x863498]
mov ecx, esi
call dword [0x834360]
mov ecx, dword [ebp - 0x24]
call esi
test ebx, ebx
jg 0x626db8
xor ecx, ecx
test byte [0x889bec], 1
je 0x626dca
nop
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x20]
movzx ecx, word [eax + ebx*2 - 2]
add ecx, dword [0x889b1c]
nop
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x20]
movzx eax, word [eax + ebx*2]
sub eax, ecx
jbe 0x626e25
imul ecx, ecx, 0x3c
add ecx, 0x34
mov edx, 0x30000000
jmp 0x626df6
add ecx, 0x3c
dec eax
je 0x626e25
nop
mov esi, dword [ebp - 0x24]
mov esi, dword [esi + 0x14]
mov ebx, dword [esi + ecx]
and ebx, edx
cmp ebx, 0x20000000
je 0x626df0
or ebx, 0x20000000
mov dword [esi + ecx], ebx
cmp dword [esi + ecx - 0x30], 3
jne 0x626df0
nop
mov dword [esi + ecx - 0x30], 1
jmp 0x626df0
xor eax, eax
cmp byte [ebp - 0x20], 0
je 0x626fe3
nop
mov dword [ebp - 0x34], 0
mov edx, dword [0x8652b8]
mov eax, edx
xor eax, 1
mov ecx, edx
and ecx, 1
lea eax, [eax + ecx*2]
mov dword [0x8652b8], eax
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], eax
test eax, edx
nop
mov dword [ebp - 0x30], 0
je 0x626ffb
nop
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x68], 0
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x70], eax
mov esi, dword [ebp - 0x2c]
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x6c], eax
add esi, 0x58
mov ecx, dword [ebp - 0x4c]
add ecx, dword [0x8634a0]
add ecx, dword [ebp - 0x3c]
add ecx, dword [0x86349c]
mov dword [ebp - 0x10], 0xffffffff
call dword [0x834360]
push 0x10
lea eax, [ebp - 0x80]
push eax
mov dword [ebp - 0x2c], esi
push esi
call ecx
add esp, 0xc
mov byte [ebp - 0x1b0], 0
lea esi, [ebp - 0x1ac]
push 0x128
push 0
push esi
call fcn.007311f0
add esp, 0xc
push 0
push esi
call fcn.00592910
add esp, 8
lea eax, [ebp - 0x184]
movzx ecx, byte [ebp - 0x1b0]
mov dword [ebp - 0x10], 1
lea edx, [ebp - 0x70]
push eax
push ecx
push 0x10
push edx
push esi
call fcn.00592fd0
add esp, 0x14
lea eax, [ebp - 0x1ac]
push eax
call fcn.005936c0
add esp, 4
nop
mov eax, dword [ebp - 0x2c]
push eax
push eax
lea eax, [ebp - 0x1ac]
push eax
call fcn.005937f0
add esp, 0xc
cmp byte [ebp + 0xc], 0
jne 0x626fc6
lea esi, [ebp - 0x38]
mov ecx, esi
call fcn.0056d900
mov eax, dword [0x889b84]
add eax, dword [0x7d6b64]
add eax, dword [0x889950]
mov dword [ebp - 0x10], 2
mov ecx, esi
push eax
call fcn.0056da90
nop
mov eax, dword [0x7e619c]
mov ecx, dword [0x7e6198]
sub ecx, dword [ebp - 0x30]
sbb eax, dword [ebp - 0x34]
xor edx, edx
mov esi, dword [ebp - 0x58]
test dword [ebp - 0x5c], esi
cmovne ecx, edx
cmovne eax, edx
or eax, ecx
mov ecx, dword [0x889b84]
mov edx, ecx
xor edx, eax
and eax, ecx
lea eax, [edx + eax*2]
mov dword [0x889b84], eax
lea ecx, [ebp - 0x38]
call fcn.0056dab0
nop
mov dword [ebp - 0x10], 3
lea ecx, [ebp - 0x38]
push 0x10
push dword [ebp - 0x2c]
call fcn.0056dac0
lea ecx, [ebp - 0x38]
push 0x20
push dword [ebp - 0x2c]
call fcn.0056dae0
lea ecx, [ebp - 0x38]
call fcn.0056d9c0
nop
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x1ac]
push eax
call fcn.005937b0
add esp, 4
mov al, 1
jmp 0x626fe3
xor eax, eax
nop
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x1a4
pop esi
pop edi
pop ebx
pop ebp
ret 8
nop
mov eax, dword [ebp - 0x40]
lea ebx, [eax + 0xc]
cmp dword [0x8652d4], 0xc408cac9
cmovne ebx, eax
mov eax, dword [ebx]
cmp dword [ebp - 0x44], 0
jle 0x6271b1
add ebx, eax
cmp dword [0x8652c8], 0x8129ea6c
jne 0x6271c4
xor edi, edi
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x48], 0
jmp 0x6270ae
lea ecx, [eax*8]
mov edi, 0xffffffff
shl edi, cl
xor ebx, ebx
test cl, 0x20
mov ecx, 0xffffffff
cmovne ecx, edi
mov dword [ebp - 0x50], 0
cmovne edi, ebx
not ecx
and esi, ecx
not edi
and edx, edi
mov edi, dword [ebp - 0x28]
add edi, eax
add edi, 0xfffffffc
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
lea ebx, [eax + ecx*4]
add ebx, 4
add ebx, dword [eax + ecx*4 + 4]
lea eax, [ecx + 1]
nop
mov dword [ebp - 0x48], eax
xor dword [ebp - 0x34], esi
xor dword [ebp - 0x30], edx
add edi, 8
cmp edi, dword [ebp - 0x44]
jge 0x626e67
nop
mov dword [ebp - 0x28], edi
mov eax, ebx
mov ecx, 0xa00abb79
mul ecx
mov ecx, eax
imul eax, ebx, 0x360525e0
mov dword [ebp - 0x20], eax
add edx, eax
mov edi, dword [ebp - 0x50]
imul esi, edi, 0xa00abb79
add esi, edx
add ecx, 0x6ebdff31
adc esi, 0xefc0788a
mov dword [ebp - 0x24], ebx
mov eax, ebx
mov edx, 0xa00abb7a
mul edx
mov ebx, eax
add edx, dword [ebp - 0x20]
imul edi, edi, 0xa00abb7a
add edi, edx
add ebx, 0x6ebdff30
adc edi, 0xefc0788a
mov eax, ecx
mul ebx
imul edi, ecx
add edi, edx
imul ebx, esi
add ebx, edi
mov esi, eax
mov ecx, 0x5ff54487
mul ecx
mov ecx, eax
imul eax, esi, 0xc9fada1f
add eax, edx
imul edi, ebx, 0x5ff54487
add edi, eax
add ecx, 0x914200cf
adc edi, 0x103f8775
sub esi, ecx
mov dword [ebp - 0x60], esi
sbb ebx, edi
mov eax, esi
mul ecx
mov dword [ebp - 0x20], eax
mov esi, edx
mov eax, dword [ebp - 0x60]
imul eax, edi
add esi, eax
imul ebx, ecx
add esi, ebx
mov edx, dword [ebp - 0x20]
shld esi, edx, cl
shl edx, cl
test cl, 0x20
cmovne esi, edx
mov eax, 0
cmovne edx, eax
mov dword [ebp - 0x20], edx
mov eax, edx
sub eax, ecx
mov ebx, esi
sbb ebx, edi
imul ebx, ecx
imul edi, eax
mul ecx
add edx, edi
mov edi, dword [ebp - 0x28]
add edx, ebx
add eax, dword [ebp - 0x20]
adc edx, esi
mov ecx, 7
cmp ecx, eax
mov ecx, 0
sbb ecx, edx
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx + edi]
mov esi, dword [ecx + edi + 4]
jge 0x627050
mov ebx, dword [ebp - 0x24]
jmp 0x62709c
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
jmp 0x626e67
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], 0
jmp 0x627205
xor dword [ebp - 0x34], ebx
xor dword [ebp - 0x30], edi
add eax, 8
cmp eax, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x24]
jge 0x626e67
nop
mov esi, dword [ebp - 0x54]
lea ecx, [esi + eax]
mov dword [ebp - 0x24], ebx
mov edx, ebx
sub edx, ecx
mov ecx, dword [ebp - 0x20]
sbb ecx, 0
add edx, 0xa00abb79
adc ecx, 0x360525e0
cmp edx, 0xa00abb81
sbb ecx, 0x360525e0
mov edi, dword [esi + eax]
mov ebx, dword [esi + eax + 4]
jge 0x6271f0
lea ecx, [edx*8 - 0x55dbc8]
mov esi, 0xffffffff
shl esi, cl
test cl, 0x20
mov ecx, 0xffffffff
cmovne ecx, esi
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], edi
mov edi, 0
cmovne esi, edi
mov edi, dword [ebp - 0x24]
not ecx
and ebx, ecx
not esi
and edi, esi
add eax, edx
add eax, 0x5ff54483
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x28]
lea edx, [ecx + esi*4]
add edx, 4
add edx, dword [ecx + esi*4 + 4]
mov dword [ebp - 0x24], edx
lea ecx, [esi + 1]
nop
mov dword [ebp - 0x28], ecx
jmp 0x6271f0