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

Disassembly:
push ebp
sub esp, 0x5c
mov eax, 0x6c461b
call fcn.00664608
sub esp, 0x8b0
xor eax, eax
push ebx
mov dword [ebp + 8], eax
mov ebx, dword [ebp + 0x6c]
mov ecx, ebx
mov dword [ebp + 4], eax
mov dword [ebp + 0x5c], eax
push esi
mov eax, dword [ebx]
push edi
call dword [eax + 0x34]
mov edi, dword [ebp + 0x68]
mov esi, eax
mov eax, dword [ebp + 0x74]
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x68]
mov ecx, ebx
mov edi, dword [ebp + 0x70]
mov dword [esi + 0x1c], eax
xor eax, eax
mov dword [esi + 0x18], edi
mov dword [esi + 0x20], eax
mov dword [esi + 0xe4], ebx
call fcn.0049e8b0
mov byte [esi + 0x188], al
mov ecx, ebx
cmp byte [ebx + 0x2fd], 0
sete al
or dword [esi + 0x2e0], 0xffffffff
mov byte [esi + 0x86], al
mov eax, dword [ebx]
call dword [eax + 0x194]
test eax, eax
je 0x625e4d
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x194]
xor ecx, ecx
cmp dword [eax + 0x10c], ecx
je 0x625e4d
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x194]
mov eax, dword [eax + 0x11c]
mov dword [esi + 0x2e0], eax
mov eax, dword [ebx + 0xd8]
mov dword [ebp + 0x10], eax
test eax, eax
je 0x625e67
mov ecx, eax
call fcn.004fa154
mov byte [esi + 0xbc], al
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + pe_nt_image_headers32]
mov byte [esi + 0x21c], al
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 4]
mov dword [esi + 0xd0], eax
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0x98]
mov dword [esi + 0xd4], eax
mov eax, dword [ebx + 0x2e4]
mov dword [esi + 0xd8], eax
mov eax, dword [ebx + 0x320]
mov ecx, dword [ebx + 0x324]
mov dword [esi + 0xc0], eax
mov eax, edi
mov dword [esi + 0xc4], ecx
and eax, 0x400
xor ecx, ecx
or eax, ecx
je 0x625eec
mov eax, dword [esi + 0xd0]
mov ecx, ebx
add eax, 0x1f
sar eax, 5
shl eax, 2
push eax
mov eax, dword [ebx]
call dword [eax + 0x20]
push dword [eax + 4]
call fcn.004bfd18
mov dword [esi + 0x134], eax
xor ecx, ecx
mov eax, edi
and eax, 0x800
or eax, ecx
push 0xf
pop eax
je 0x625f7f
lea edx, [ebx + 0x4d4]
cmp dword [edx + 0x14], 0x10
jb 0x625f0c
mov edx, dword [edx]
mov dword [ebp + 0x38], ecx
mov dword [ebp + 0x48], ecx
mov dword [ebp + 0x4c], eax
test edx, edx
je 0x625f31
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x625f1e
sub ecx, edi
push ecx
push edx
lea ecx, [ebp + 0x38]
call fcn.00410407
lea eax, [ebp + 0x38]
push eax
lea ecx, [esi + 0x11c]
call fcn.004100cf
mov eax, dword [ebp + 0x4c]
cmp eax, 0x10
jb 0x625f75
mov ecx, dword [ebp + 0x38]
inc eax
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x58], ecx
cmp eax, 0x1000
jb 0x625f6c
lea eax, [ebp + 0x6c]
push eax
lea eax, [ebp + 0x58]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x58]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
push 0x10
pop edi
mov dword [ebp + 0x5c], edi
xor ecx, ecx
jmp 0x625f82
mov edi, dword [ebp + 0x5c]
mov eax, dword [ebp + 0x70]
and eax, 0x1000
or eax, ecx
je 0x626034
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x62601e
cmp dword [eax + 0x38], ecx
je 0x62601e
add eax, 0x28
lea ecx, [esi + 0x1e4]
push eax
call fcn.00427946
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x89], 0
jne 0x625fc8
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x4c]
test al, al
jne 0x626034
lea eax, [esi + 0x1e4]
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x625fd8
mov ecx, dword [eax]
push ecx
call fcn.004520a6
push eax
lea ecx, [esi + 0x1e4]
call fcn.00427ba3
lea edx, [esi + 0x1e4]
cmp dword [edx + 0x14], 8
mov ecx, edx
jb 0x625ffa
mov ecx, dword [edx]
lea eax, [ecx + 2]
mov dword [ebp + 0x6c], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp + 4]
jne 0x626000
sub ecx, dword [ebp + 0x6c]
xor eax, eax
sar ecx, 1
push eax
push ecx
mov ecx, edx
call fcn.0043b088
jmp 0x626034
lea eax, [esi + 0x1e4]
mov dword [eax + 0x10], ecx
cmp dword [eax + 0x14], 8
jb 0x62602f
mov eax, dword [eax]
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x154]
mov byte [esi + 0xe0], al
mov eax, dword [ebx + 0x1e4]
sub eax, dword [ebx + 0x1e0]
cmp eax, 4
sbb al, al
xor edx, edx
inc al
mov byte [esi + 0x84], al
lea eax, [esi + 0x18c]
mov dword [eax + 0x10], edx
mov ecx, eax
cmp dword [eax + 0x14], 8
jb 0x626072
mov ecx, dword [eax]
xor eax, eax
mov word [ecx], ax
cmp dword [ebx + 0x1d8], edx
jbe 0x626095
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x154]
xor edx, edx
test al, al
jne 0x626095
mov byte [esi + 0x84], dl
lea ecx, [esi + 0x1a4]
mov dword [ecx + 0x10], edx
mov eax, ecx
cmp dword [ecx + 0x14], 8
jb 0x6260a8
mov eax, dword [ecx]
xor ecx, ecx
mov dword [ebp + 0x6c], 0xa0
mov word [eax], cx
mov eax, dword [ebp + 0x70]
and eax, 0x200
or eax, edx
je 0x626103
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x6260ed
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
sub eax, ecx
cdq
idiv dword [ebp + 0x6c]
cmp eax, 1
jne 0x6260eb
lea eax, [ecx + 0x38]
push eax
lea ecx, [esi + 0x104]
call fcn.00427946
xor edx, edx
jmp 0x626103
xor edx, edx
lea eax, [esi + 0x104]
mov dword [eax + 0x10], edx
cmp dword [eax + 0x14], 8
jb 0x6260fe
mov eax, dword [eax]
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp + 0x70]
and eax, 1
or eax, edx
je 0x62618c
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x130]
or edi, 0x20
mov dword [ebp + 0x4c], 7
mov dword [ebp + 0x5c], edi
test eax, eax
je 0x62613b
xor ecx, ecx
mov dword [ebp + 0x38], ecx
mov dword [ebp + 0x48], ecx
lea ecx, [ebp + 0x38]
push eax
call fcn.00427ba3
jmp 0x626143
xor eax, eax
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x48], eax
lea eax, [ebp + 0x38]
push eax
lea ecx, [esi + 0x24]
call fcn.00427924
mov eax, dword [ebp + 0x4c]
cmp eax, 8
jb 0x62618a
mov ecx, dword [ebp + 0x38]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x58], ecx
cmp eax, 0x1000
jb 0x626181
lea eax, [ebp + 0x6c]
push eax
lea eax, [ebp + 0x58]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x58]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
xor edx, edx
mov eax, dword [ebp + 0x70]
lea ecx, [esi + 0x150]
and eax, 2
or eax, edx
je 0x6261f5
xor eax, eax
mov ecx, ebx
mov word [ebp - 0x8bc], ax
lea eax, [ebp - 0x8bc]
push 0x400
push eax
call fcn.004b05e9
lea eax, [ebp - 0x8bc]
push eax
lea ecx, [esi + 0x150]
call fcn.00427ba3
mov ecx, ebx
call fcn.0049c384
push eax
lea ecx, [esi + 0x168]
call fcn.00427946
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x100]
lea ecx, [esi + 0x180]
push eax
call fcn.00625340
jmp 0x626228
mov dword [ecx + 0x10], edx
cmp dword [ecx + 0x14], 8
jb 0x626200
mov ecx, dword [ecx]
xor eax, eax
mov word [ecx], ax
lea ecx, [esi + 0x180]
call fcn.004afc12
lea eax, [esi + 0x168]
xor ecx, ecx
mov dword [eax + 0x10], ecx
cmp dword [eax + 0x14], 8
jb 0x626223
mov eax, dword [eax]
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp + 0x70]
xor ecx, ecx
and eax, 4
or eax, ecx
je 0x6262bd
lea edx, [ebx + 0x4d4]
cmp dword [edx + 0x14], 0x10
jb 0x626246
mov edx, dword [edx]
or edi, 0x40
mov dword [ebp + 0x38], ecx
mov dword [ebp + 0x5c], edi
mov dword [ebp + 0x48], ecx
mov dword [ebp + 0x4c], 0xf
test edx, edx
je 0x626279
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x626265
sub ecx, dword [ebp + 0x6c]
push ecx
push edx
lea ecx, [ebp + 0x38]
call fcn.00410407
lea eax, [ebp + 0x38]
push eax
lea ecx, [esi + 0xec]
call fcn.004100cf
mov eax, dword [ebp + 0x4c]
cmp eax, 0x10
jb 0x6262bd
mov ecx, dword [ebp + 0x38]
inc eax
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x58], ecx
cmp eax, 0x1000
jb 0x6262b4
lea eax, [ebp + 0x6c]
push eax
lea eax, [ebp + 0x58]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x58]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x90]
mov byte [esi + 0x75], al
xor edx, edx
mov eax, dword [ebp + 0x70]
and eax, 8
or eax, edx
je 0x626353
lea eax, [ebx + 0x6f0]
cmp dword [eax + 0x14], 8
jb 0x6262e4
mov eax, dword [eax]
or edi, 0x80
mov dword [ebp + 0x38], edx
mov dword [ebp + 0x5c], edi
mov dword [ebp + 0x48], edx
mov dword [ebp + 0x4c], 7
test eax, eax
je 0x626307
push eax
lea ecx, [ebp + 0x38]
call fcn.00427ba3
lea eax, [ebp + 0x38]
push eax
lea ecx, [esi + 0x138]
call fcn.00427924
mov eax, dword [ebp + 0x4c]
cmp eax, 8
jb 0x626351
mov ecx, dword [ebp + 0x38]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x6c], eax
mov dword [ebp + 0x58], ecx
cmp eax, 0x1000
jb 0x626348
lea eax, [ebp + 0x6c]
push eax
lea eax, [ebp + 0x58]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x58]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
xor edx, edx
lea eax, [esi + 0x18c]
mov dword [ebp + 0x54], edx
mov dword [eax + 0x10], edx
mov ecx, eax
cmp dword [eax + 0x14], 8
jb 0x626369
mov ecx, dword [eax]
xor eax, eax
mov dword [ebp + 0x6c], edx
mov word [ecx], ax
mov eax, dword [ebx + 0x1e4]
mov ecx, dword [ebx + 0x1e0]
sub eax, ecx
cmp eax, 4
jb 0x626421
mov ecx, dword [ecx + edx*4]
push 2
pop eax
test byte [ecx + 0x62], al
jne 0x6263e6
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x18]
mov ecx, dword [ecx + 8]
mov edi, dword [ebp + 0x6c]
dec ecx
mov dword [ebp + 4], eax
add eax, edx
mov edx, dword [ebx + 0x1e0]
and ecx, eax
mov eax, dword [edx + edi*4]
xor edx, edx
lea edi, [esi + 0x18c]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx*4]
mov byte [esi + 0x84], dl
mov dword [ebp + 0x54], ecx
cmp byte [0x7b6006], dl
jne 0x626404
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x6263d9
mov eax, dword [edi]
push eax
call fcn.0045eeeb
test al, al
je 0x6263ff
mov edx, dword [ebp + 0x6c]
mov eax, dword [ebx + 0x1e4]
inc edx
mov ecx, dword [ebx + 0x1e0]
sub eax, ecx
sar eax, 2
mov dword [ebp + 0x6c], edx
cmp edx, eax
jne 0x626388
mov ecx, dword [ebp + 0x54]
xor edx, edx
mov edi, dword [ebp + 0x5c]
test ecx, ecx
je 0x626421
mov eax, dword [ebp + 0x70]
and eax, 0x10
or eax, edx
je 0x626421
push ecx
lea ecx, [esi + 0x18c]
call fcn.00427946
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x24]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x104]
mov ecx, dword [ebx + 0xcc]
mov eax, dword [ecx]
call dword [eax + 0x3c]
test al, al
je 0x626464
mov ecx, ebx
call fcn.0049e85d
test al, al
jne 0x626464
mov cl, 1
jmp 0x626468
xor eax, eax
mov cl, al
mov al, byte [esi + 0x74]
and al, 0xfe
or al, cl
xor ecx, ecx
mov byte [esi + 0x74], al
mov eax, ecx
mov word [esi + 0x21d], cx
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x40], eax
mov dword [ebp + 8], eax
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x48], ecx
mov dword [ebp + 4], eax
mov dword [ebp + 0x4c], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x34], ecx
mov ecx, dword [ebp - 0x24]
sub eax, ecx
cdq
mov dword [ebp + 0x6c], 0xe0
idiv dword [ebp + 0x6c]
mov byte [ebp - 4], 1
mov dword [ebp + 0x2c], ecx
test eax, eax
je 0x626561
xor eax, eax
mov edi, eax
lea eax, [ecx + edi]
cmp byte [eax + 0xd4], 0
je 0x6264da
mov byte [esi + 0x21e], 1
test byte [eax + 0x8c], 2
je 0x626534
mov ecx, dword [ebp + 0x54]
push eax
cmp ecx, dword [ebp + 0x58]
je 0x6264fc
call fcn.0048f931
mov eax, dword [ebp + 0x54]
add eax, dword [ebp + 0x6c]
mov dword [ebp + 0x3c], eax
jmp 0x62650e
push ecx
lea ecx, [ebp + 0x38]
call fcn.0048b30e
mov eax, dword [ebp + 0x40]
mov dword [ebp + 0x58], eax
mov eax, dword [ebp + 0x3c]
mov dword [ebp + 0x54], eax
lea eax, [ebp + 4]
push eax
mov eax, dword [ebp + 0x2c]
add eax, edi
push eax
push ebx
call fcn.00524a57
cmp dword [ebp + 4], 3
mov ecx, dword [ebp - 0x24]
mov dword [ebp + 0x2c], ecx
jne 0x626534
mov byte [esi + 0x21d], 1
mov eax, dword [ebp - 0x20]
sub eax, ecx
inc dword [ebp + 0x34]
cdq
idiv dword [ebp + 0x6c]
add edi, dword [ebp + 0x6c]
cmp dword [ebp + 0x34], eax
jb 0x6264c7
mov eax, dword [ebp + 0x4c]
mov edi, dword [ebp + 0x5c]
mov dword [ebp + 4], eax
mov eax, dword [ebp + 0x44]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0xc], eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xb4]
or eax, edx
je 0x62657a
mov al, byte [esi + 0x74]
and al, 1
mov byte [esi + 0x21d], al
mov ecx, dword [ebp + 0x70]
xor edx, edx
mov eax, ecx
and eax, 0x20
or eax, edx
je 0x626623
lea ecx, [ebp - 0xbc]
call fcn.00490dcf
push 2
pop eax
mov byte [ebp - 4], al
mov eax, dword [ebx + 0x1e4]
sub eax, dword [ebx + 0x1e0]
cmp eax, 4
jb 0x62660f
mov eax, dword [ebx]
xor ecx, ecx
push ecx
lea ecx, [ebp - 0xbc]
push ecx
mov ecx, ebx
call dword [eax + 0x140]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x168]
movzx eax, al
push eax
movzx eax, byte [0x7b6006]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.00624285
lea eax, [ebp - 0x9c]
lea ecx, [esi + 0x1a4]
cmp ecx, eax
je 0x62660f
cmp dword [ebp - 0x88], 8
jb 0x626603
mov eax, dword [ebp - 0x9c]
push dword [ebp - 0x8c]
push eax
call fcn.00427bc8
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 1
call fcn.00491b10
mov ecx, dword [ebp + 0x70]
xor edx, edx
lea eax, [esi + 0x23c]
mov dword [eax + 0x10], edx
mov edx, eax
cmp dword [eax + 0x14], 8
jb 0x626636
mov edx, dword [eax]
xor eax, eax
mov word [edx], ax
lea edx, [esi + 0x254]
mov dword [edx + 0x10], eax
mov eax, edx
cmp dword [edx + 0x14], 0x10
jb 0x62664e
mov eax, dword [edx]
xor edx, edx
mov byte [eax], dl
lea edx, [esi + 0x224]
or dword [esi + 0x284], 0xffffffff
xor eax, eax
mov dword [edx + 0x10], eax
mov eax, edx
cmp dword [edx + 0x14], 8
jb 0x62666e
mov eax, dword [edx]
xor edx, edx
mov word [eax], dx
mov eax, ecx
and eax, 0x40
or eax, edx
je 0x626850
lea eax, [ebx + 0x54c]
cmp dword [eax + 0x14], 8
mov ecx, eax
mov dword [ebp + 0x50], eax
jb 0x626693
mov ecx, dword [eax]
test ecx, ecx
je 0x626815
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x6266a5
mov ecx, dword [eax]
or edi, 0x100
mov dword [ebp + 0x14], edx
mov dword [ebp + 0x5c], edi
mov dword [ebp + 0x24], edx
mov dword [ebp + 0x28], 7
test ecx, ecx
je 0x6266c8
push ecx
lea ecx, [ebp + 0x14]
call fcn.00427ba3
lea eax, [ebp + 0x14]
push eax
lea ecx, [esi + 0x26c]
call fcn.00427924
mov eax, dword [ebp + 0x28]
cmp eax, 8
jb 0x626712
mov ecx, dword [ebp + 0x14]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x2c], eax
mov dword [ebp + 0x30], ecx
cmp eax, 0x1000
jb 0x626709
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x30]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x30]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
lea eax, [ebx + 0x54c]
cmp dword [eax + 0x14], 8
jb 0x626723
mov eax, dword [eax]
mov dword [ebp + 0x50], eax
lea eax, [ebp + 0x30]
mov ecx, 0x7bb3c8
push eax
call fcn.0042a2bd
push dword [ebp + 0x50]
mov ecx, dword [ebp + 0x30]
lea eax, [ebp + 0x34]
push eax
call fcn.0047ee43
mov ecx, dword [ebp + 0x34]
mov byte [ebp - 4], 3
test ecx, ecx
je 0x626802
add ecx, 0x6c
push ecx
lea ecx, [esi + 0x23c]
call fcn.00427946
lea edx, [ebx + 0x57c]
cmp dword [edx + 0x14], 0x10
jb 0x62676c
mov edx, dword [edx]
xor eax, eax
mov dword [ebp + 0x28], 0xf
or edi, 0x200
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x5c], edi
mov dword [ebp + 0x24], eax
test edx, edx
je 0x6267a0
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x62678d
sub ecx, edi
push ecx
push edx
lea ecx, [ebp + 0x14]
call fcn.00410407
lea eax, [ebp + 0x14]
push eax
lea ecx, [esi + 0x254]
call fcn.004100cf
mov eax, dword [ebp + 0x28]
cmp eax, 0x10
jb 0x6267e4
mov ecx, dword [ebp + 0x14]
inc eax
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x30], ecx
cmp eax, 0x1000
jb 0x6267db
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x30]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x30]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
mov eax, dword [ebp + 0x34]
lea ecx, [esi + 0x224]
mov edx, dword [eax + 0x68]
add eax, 0x1c
push eax
mov dword [esi + 0x284], edx
call fcn.00427946
mov ecx, dword [ebp + 0x34]
mov byte [ebp - 4], 4
test ecx, ecx
je 0x62680f
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
jmp 0x62682b
lea eax, [esi + 0x26c]
mov dword [eax + 0x10], edx
cmp dword [eax + 0x14], 8
jb 0x626826
mov eax, dword [eax]
xor ecx, ecx
mov word [eax], cx
cmp dword [esi + 0x284], 0xffffffff
jne 0x626850
lea eax, [ebx + 0x57c]
cmp dword [eax + 0x14], 0x10
jb 0x626842
mov eax, dword [eax]
test eax, eax
je 0x626850
mov dword [esi + 0x284], 0x1a
mov eax, dword [ebx + 0x504]
mov ecx, ebx
mov dword [esi + 0xe8], eax
mov eax, dword [ebx]
call dword [eax + 0x9c]
mov dword [esi + 0x40], eax
mov ecx, ebx
mov dword [esi + 0x44], edx
mov eax, dword [ebx]
call dword [eax + 0xa0]
mov dword [esi + 0x50], eax
mov ecx, ebx
mov dword [esi + 0x54], edx
mov eax, dword [ebx]
call dword [eax + 0x94]
mov dword [esi + 0x58], eax
mov ecx, ebx
mov dword [esi + 0x5c], edx
mov eax, dword [ebx]
call dword [eax + 0xa4]
mov dword [esi + 0x60], eax
mov ecx, ebx
mov dword [esi + 0x64], edx
mov eax, dword [ebx]
call dword [eax + 0xf0]
mov ecx, dword [esi + 0x40]
sub ecx, eax
mov eax, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov ecx, ebx
sbb eax, edx
mov dword [esi + 0x4c], eax
call fcn.00499de7
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], edx
mov ecx, dword [ebx + 0xcc]
mov eax, dword [ecx]
call dword [eax + 0x48]
shl al, 2
xor al, byte [esi + 0x74]
and al, 4
xor al, byte [esi + 0x74]
mov byte [esi + 0x74], al
test al, 1
je 0x626936
mov esi, dword [ebx + 0xcc]
mov ecx, esi
mov edi, dword [esi]
call dword [edi + 0xb0]
push eax
mov ecx, esi
call dword [edi + 0x40]
mov esi, dword [ebp + 0x68]
add al, al
push 2
pop ecx
xor al, byte [esi + 0x74]
and al, cl
xor byte [esi + 0x74], al
mov ecx, dword [ebx + 0xcc]
mov eax, dword [ecx]
call dword [eax + 0xb0]
test eax, eax
js 0x62693b
mov esi, dword [ebx + 0xcc]
mov ecx, esi
mov edi, dword [esi]
call dword [edi + 0xb0]
push eax
mov ecx, esi
call dword [edi + 0x88]
mov esi, dword [ebp + 0x68]
jmp 0x626940
and al, 0xfd
mov byte [esi + 0x74], al
or eax, 0xffffffff
or edx, eax
mov dword [esi + 0xb0], eax
mov ecx, ebx
mov dword [esi + 0xb4], edx
mov eax, dword [ebx + 0x2f0]
mov dword [esi + 0x218], eax
mov eax, dword [ebx]
call dword [eax + 0xa8]
mov dword [esi + 0xb8], eax
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0x38]
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x1c4], edx
mov eax, dword [ebx + 0x350]
mov ecx, dword [ebx + 0x354]
mov dword [esi + 0x1cc], ecx
mov ecx, ebx
mov dword [esi + 0x1c8], eax
mov eax, dword [ebx]
call dword [eax + 0xb4]
mov dword [esi + 0x1d0], eax
mov dword [esi + 0x1d4], edx
mov eax, dword [ebx + 0x360]
mov ecx, dword [ebx + 0x364]
mov dword [esi + 0x1dc], ecx
mov ecx, ebx
mov dword [esi + 0x1d8], eax
mov eax, dword [ebx]
call dword [eax + 0xd8]
mov dword [esi + 0xc8], eax
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0xd4]
mov dword [esi + 0xcc], eax
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0x84]
mov ecx, ebx
mov dword [esi + 0x1e0], eax
call fcn.0049c567
mov byte [esi + 0xbd], al
mov ecx, ebx
mov eax, dword [ebx + 0x5ac]
mov dword [esi + 0x1fc], eax
mov eax, dword [ebx + 0x5b0]
mov dword [esi + 0x200], eax
mov eax, dword [ebx + 0x5b4]
mov dword [esi + 0x204], eax
mov eax, dword [ebx + 0x5b8]
mov dword [esi + 0x208], eax
mov eax, dword [ebx]
call dword [eax + 0x134]
mov dword [esi + 0x288], eax
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0x13c]
mov al, byte [esi + 0x75]
push 2
pop ecx
fstp dword [esi + 0x28c]
cmp al, cl
jne 0x626a86
cmp byte [0x7b6c80], 0
je 0x626aaa
xor eax, eax
mov ecx, ebx
push eax
call fcn.00499eac
test eax, eax
je 0x626a82
xor eax, eax
mov ecx, ebx
push eax
call fcn.00499eac
mov ecx, eax
call fcn.00508fad
jmp 0x626ab4
xor eax, eax
jmp 0x626ab4
cmp al, 0x19
je 0x626a8e
cmp al, 0x18
jne 0x626aaa
mov ecx, dword [ebx + 0x7d4]
test ecx, ecx
je 0x626aaa
call fcn.00514108
fmul qword [0x6d6870]
call fcn.00664ed0
jmp 0x626ab4
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xe4]
movzx eax, ax
xor ecx, ecx
mov word [esi + 0x70], ax
mov edi, dword [ebp + 0x70]
mov eax, edi
and eax, 0x2000
or eax, ecx
je 0x626adb
push 7
lea eax, [esi + 0x88]
mov ecx, ebx
push eax
call fcn.0049b611
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xcc]
mov dword [esi + 0xa4], eax
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0xc4]
mov dword [esi + 0xa0], eax
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0xc0]
mov dword [esi + 0xa8], eax
mov ecx, ebx
xor eax, eax
mov dword [esi + 0xac], eax
mov eax, dword [ebx]
call dword [eax + 0x15c]
mov word [esi + 0x72], ax
mov eax, dword [ebx + 0x5e8]
push 2
mov dword [esi + 0x78], eax
pop eax
cmp byte [esi + 0x75], al
jne 0x626b58
xor eax, eax
mov ecx, ebx
push eax
call fcn.00499eac
test eax, eax
je 0x626b53
xor eax, eax
mov ecx, ebx
push eax
call fcn.00499eac
mov ecx, eax
call fcn.00508fe4
jmp 0x626b55
xor eax, eax
mov dword [esi + 0x78], eax
mov ecx, ebx
call fcn.0049e85d
test al, al
je 0x626b6a
push 2
pop eax
or word [esi + 0x72], ax
test byte [ebx + 0x147], 0x40
je 0x626b7d
test byte [esi + 0x72], 0x41
je 0x626b7d
mov al, 1
jmp 0x626b7f
xor eax, eax
mov byte [esi + 0x85], al
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0xfc]
mov dword [esi + 0x214], eax
xor ecx, ecx
mov al, byte [ebx + 0x154]
or dword [esi + 0x210], 0xffffffff
mov byte [esi + 0x87], al
mov eax, edi
and eax, 0x100
or eax, ecx
je 0x626bcc
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x80]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
mov dword [esi + 0x210], eax
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x626be7
mov eax, dword [ecx + 8]
sub eax, dword [ecx + 4]
mov ecx, 0xa0
cdq
idiv ecx
mov dword [esi + 0xdc], eax
lea eax, [esi + 0x2c0]
xor edx, edx
mov dword [eax + 0x10], edx
cmp dword [eax + 0x14], 8
jb 0x626bfa
mov eax, dword [eax]
xor ecx, ecx
and edi, 0x80
mov word [eax], cx
or dword [esi + 0x2d8], 0xffffffff
or edi, edx
push 0x42
pop edi
je 0x626c89
mov eax, dword [ebx + 0x798]
sub eax, edx
je 0x626c7f
sub eax, 1
je 0x626c73
sub eax, 1
je 0x626c67
sub eax, 1
je 0x626c5f
sub eax, 1
je 0x626c53
sub eax, 1
je 0x626c47
sub eax, 1
je 0x626c5f
mov dword [esi + 0x2d8], 0x38
jmp 0x626c89
mov dword [esi + 0x2d8], 0x40
jmp 0x626c89
mov dword [esi + 0x2d8], 0x44
jmp 0x626c89
mov dword [esi + 0x2d8], edi
jmp 0x626c89
mov dword [esi + 0x2d8], 0x3a
jmp 0x626c89
mov dword [esi + 0x2d8], 0x3c
jmp 0x626c89
mov dword [esi + 0x2d8], 0x3e
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x15c]
test al, 1
je 0x626ca8
mov eax, 0x3e8
cmp word [esi + 0x70], ax
je 0x626ca8
mov dword [esi + 0x2d8], edi
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x110]
test al, al
je 0x626cbb
fld dword [ebx + 0x58]
jmp 0x626cc1
fld qword [0x6e1678]
fstp dword [esi + 0x2e4]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x174]
mov byte [esi + 0x318], al
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0x110]
test al, al
je 0x626cf8
lea eax, [ebp - 0x3c]
mov ecx, ebx
push eax
call fcn.00625c0b
or dword [ebp + 0x5c], 1
mov ecx, eax
jmp 0x626d10
xor eax, eax
mov dword [ebp + 0x28], 7
push 2
pop edx
or dword [ebp + 0x5c], edx
lea ecx, [ebp + 0x14]
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x24], eax
push ecx
lea ecx, [esi + 0x2e8]
call fcn.00427924
mov eax, dword [ebp + 0x5c]
push 2
pop ecx
test cl, al
je 0x626d6a
mov ecx, dword [ebp + 0x28]
and eax, 0xfffffffd
mov dword [ebp + 0x5c], eax
cmp ecx, 8
jb 0x626d6a
lea eax, [ecx*2 + 2]
mov ecx, dword [ebp + 0x14]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x74], ecx
cmp eax, 0x1000
jb 0x626d5e
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x74]
push eax
push ecx
call fcn.006643a9
mov eax, dword [ebp + 0x5c]
pop ecx
pop ecx
test al, 1
je 0x626d7c
and eax, 0xfffffffe
lea ecx, [ebp - 0x3c]
mov dword [ebp + 0x5c], eax
call fcn.00427afc
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x110]
test al, al
je 0x626d9b
lea eax, [ebp - 0x3c]
mov ecx, ebx
push eax
call fcn.0058a9f7
mov ecx, eax
push 4
jmp 0x626daf
xor eax, eax
mov dword [ebp + 0x28], 0xf
mov dword [ebp + 0x14], eax
lea ecx, [ebp + 0x14]
mov dword [ebp + 0x24], eax
push 8
pop edx
or edx, dword [ebp + 0x5c]
push ecx
lea ecx, [esi + 0x300]
mov dword [ebp + 0x68], edx
call fcn.004100cf
mov ecx, dword [ebp + 0x68]
test cl, 8
je 0x626e08
mov eax, dword [ebp + 0x28]
and ecx, 0xfffffff7
mov dword [ebp + 0x68], ecx
cmp eax, 0x10
jb 0x626e08
mov ecx, dword [ebp + 0x14]
inc eax
mov dword [ebp + 0x74], eax
mov dword [ebp + 0x50], ecx
cmp eax, 0x1000
jb 0x626dfc
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x74]
mov ecx, dword [ebp + 0x50]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
mov ecx, dword [ebp + 0x68]
test cl, 4
je 0x626e15
lea ecx, [ebp - 0x3c]
call fcn.00410858
mov ecx, ebx
call fcn.0049ebfe
mov byte [esi + 0x220], al
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0x170]
mov byte [esi + 0x221], al
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0x10c]
mov ecx, dword [ebp + 8]
mov byte [esi + 0x222], al
test ecx, ecx
je 0x626e77
mov eax, dword [ebp + 4]
sub eax, ecx
mov dword [ebp + 0x74], ecx
mov dword [ebp + 0x68], eax
cmp eax, 0x1000
jb 0x626e6e
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x74]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x626ed2
mov edi, dword [ebp + 0x54]
mov esi, ebx
cmp esi, edi
je 0x626e9a
mov ebx, dword [ebp + 0x6c]
mov ecx, esi
call fcn.00491282
add esi, ebx
cmp esi, edi
jne 0x626e8a
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x58]
sub eax, ebx
mov dword [ebp + 0x74], ebx
cdq
idiv dword [ebp + 0x6c]
imul eax, eax, 0xe0
mov dword [ebp + 0x68], eax
cmp eax, 0x1000
jb 0x626ec9
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x68]
mov ebx, dword [ebp + 0x74]
push eax
push ebx
call fcn.006643a9
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x626f12
mov eax, dword [ebp - 0x10]
sub eax, ecx
mov dword [ebp + 0x74], ecx
mov dword [ebp + 0x68], eax
cmp eax, 0x1000
jb 0x626efe
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x74]
push eax
push ecx
call fcn.006643a9
xor eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov esi, dword [ebp - 0x24]
test esi, esi
je 0x626f69
mov edi, dword [ebp - 0x20]
cmp esi, edi
je 0x626f31
mov ecx, esi
call fcn.00491282
add esi, dword [ebp + 0x6c]
cmp esi, edi
jne 0x626f20
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
sub eax, esi
cdq
idiv dword [ebp + 0x6c]
mov dword [ebp + 0x6c], esi
imul eax, eax, 0xe0
mov dword [ebp + 0x68], eax
cmp eax, 0x1000
jb 0x626f60
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x68]
mov esi, dword [ebp + 0x6c]
push eax
push esi
call fcn.006643a9
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add ebp, 0x60
leave
ret 0x10