Function at 0x676040
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x16c]
cmp eax, dword [ecx + 8]
jbe 0x677b81
sub esp, 0x1ec
lea eax, [0x6f0ee0]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x1f0]
mov dword [eax], ecx
mov edx, dword [0x9b1930]
test edx, edx
jne 0x676094
mov edx, dword [esp + 0x1f4]
mov dword [eax + 4], edx
jmp 0x6760a7
lea edi, [eax + 4]
mov edx, eax
mov eax, dword [esp + 0x1f4]
call fcn.00463350
mov eax, edx
mov dword [esp + 0x110], eax
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x1c], 0x7fffffff
lea ecx, [0x6c63c0]
mov dword [esp], ecx
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x158], eax
mov ecx, dword [esp + 0x1f0]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 0x1f4]
mov dword [esp], edx
mov dword [esp + 8], 0x10
mov dword [esp + 0xc], 0x10
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
call ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x6769c3
mov eax, dword [esp + 0x158]
cmp byte [eax], 0x7f
jne 0x67615d
cmp byte [eax + 1], 0x45
jne 0x67615d
cmp byte [eax + 2], 0x4c
jne 0x67615d
cmp byte [eax + 3], 0x46
je 0x6761f6
lea eax, [0x6eaf20]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x154], eax
mov dword [eax + 0xc], 0x10
lea ecx, [0x71d8ee]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x158]
mov dword [esp], ecx
mov dword [esp + 4], 4
mov dword [esp + 8], 0x10
call fcn.00409250
mov eax, dword [esp + 0xc]
lea ecx, [0x6c2500]
mov edx, dword [esp + 0x154]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x9b1930]
test ecx, ecx
jne 0x6761c8
mov dword [edx + 0x14], eax
jmp 0x6761d0
lea edi, [edx + 0x14]
call fcn.00463350
mov dword [esp + 0x1f8], 0
lea eax, [0x79d3e4]
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
lea eax, [0x6f9de0]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x158]
movzx edx, byte [ecx + 4]
mov byte [eax], dl
movzx edx, dl
cmp dl, 1
je 0x67622d
cmp dl, 2
jne 0x67695c
movzx edx, byte [ecx + 5]
mov byte [eax + 1], dl
movzx edx, dl
cmp dl, 1
jne 0x676250
lea edx, [0x79f690]
mov dword [eax + 8], edx
lea edx, [0x9b1698]
mov dword [eax + 0xc], edx
jmp 0x67626b
cmp dl, 2
jne 0x6768f4
lea edx, [0x79f664]
mov dword [eax + 8], edx
lea edx, [0x9b1698]
mov dword [eax + 0xc], edx
movzx edx, byte [ecx + 6]
mov byte [eax + 2], dl
movzx edx, dl
cmp dl, 1
jne 0x67688c
movzx edx, byte [ecx + 7]
mov byte [eax + 3], dl
movzx ecx, byte [ecx + 8]
mov byte [eax + 4], cl
movzx ecx, byte [eax]
cmp cl, 1
je 0x676451
cmp cl, 2
je 0x6762c4
xor edx, edx
xor edi, edi
xor ebx, ebx
xor ecx, ecx
xor ebp, ebp
xor esi, esi
xor edx, edx
mov dword [esp + 0x60], edx
xor ecx, ecx
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov dword [esp + 0x40], ecx
xor edx, edx
xor ecx, ecx
jmp 0x676531
lea eax, [0x707540]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x134], eax
nop
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], ebx
mov edx, dword [esp + 0x13c]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 0xc]
lea esi, [0x79d63c]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
lea ebx, [0x6b5b60]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
call fcn.004c4de0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x676431
mov eax, dword [esp + 0x134]
movzx ecx, word [eax + 0x10]
mov edx, dword [esp + 0x13c]
mov word [edx + 0x10], cx
movzx ecx, word [eax + 0x12]
mov word [edx + 0x12], cx
mov ecx, dword [eax + 0x18]
mov ebx, dword [eax + 0x1c]
mov dword [edx + 0x14], ecx
mov dword [edx + 0x18], ebx
mov ecx, dword [eax + 0x14]
cmp byte [edx + 2], cl
jne 0x6763c3
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x54], ecx
mov ebx, dword [eax + 0x24]
movzx ebp, word [eax + 0x36]
movzx esi, word [eax + 0x38]
mov edi, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
movzx ecx, word [eax + 0x3a]
mov dword [esp + 0x88], ecx
movzx ecx, word [eax + 0x3c]
movzx eax, word [eax + 0x3e]
mov dword [esp + 0x60], ebp
mov dword [esp + 0x30], eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x13c]
mov ebp, ecx
mov ecx, dword [esp + 0x54]
jmp 0x676531
mov dword [esp + 0x84], ecx
lea eax, [0x6eaf20]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x16
lea ecx, [0x721601]
mov dword [eax + 8], ecx
lea ecx, [0x6dc1c0]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x84]
movzx ecx, cl
lea edx, [0x963060]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x1f8], 0
lea ecx, [0x79d3e4]
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], eax
add esp, 0x1ec
ret
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
lea eax, [0x707440]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x138], eax
nop
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], ebx
mov edx, dword [esp + 0x13c]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 0xc]
lea esi, [0x79d63c]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
lea ebx, [0x6b5b20]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
call fcn.004c4de0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x67686c
mov eax, dword [esp + 0x138]
movzx ecx, word [eax + 0x10]
mov edx, dword [esp + 0x13c]
mov word [edx + 0x10], cx
movzx ecx, word [eax + 0x12]
mov word [edx + 0x12], cx
mov ecx, dword [eax + 0x18]
mov dword [edx + 0x14], ecx
mov dword [edx + 0x18], 0
mov ecx, dword [eax + 0x14]
cmp byte [edx + 2], cl
jne 0x6767fe
mov ecx, dword [eax + 0x1c]
movzx ebp, word [eax + 0x2a]
movzx esi, word [eax + 0x2c]
mov edi, dword [eax + 0x20]
movzx ebx, word [eax + 0x2e]
movzx edx, word [eax + 0x30]
movzx eax, word [eax + 0x32]
mov dword [esp + 0x60], ebp
mov dword [esp + 0x30], eax
mov dword [esp + 0x40], ebx
mov eax, dword [esp + 0x13c]
xor ebx, ebx
mov ebp, edx
xor edx, edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], edi
test edx, edx
jl 0x676770
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebx
test ebx, ebx
jl 0x6766e2
mov dword [esp + 0x3c], ebp
test edi, edi
xchg edi, ebx
sete bl
xchg edi, ebx
test edx, edx
sete dl
and edx, edi
test dl, dl
je 0x6765fb
test ebp, ebp
je 0x676695
lea eax, [0x6eaf20]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x154], eax
mov dword [eax + 0xc], 0x1d
lea ecx, [0x725a30]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp], ecx
call fcn.004090c0
mov eax, dword [esp + 4]
lea ecx, [0x6ccc60]
mov edx, dword [esp + 0x154]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x9b1930]
test ecx, ecx
jne 0x6765cd
mov dword [edx + 0x14], eax
jmp 0x6765d5
lea edi, [edx + 0x14]
call fcn.00463350
mov dword [esp + 0x1f8], 0
lea eax, [0x79d3e4]
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
test ebp, ebp
jle 0x676695
mov edx, dword [esp + 0x30]
cmp edx, ebp
jl 0x676695
lea eax, [0x6eaf20]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x154], eax
mov dword [eax + 0xc], 0x14
lea ecx, [0x7200f7]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp], ecx
call fcn.004090c0
mov eax, dword [esp + 4]
lea ecx, [0x6ccc60]
mov edx, dword [esp + 0x154]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x9b1930]
test ecx, ecx
jne 0x676667
mov dword [edx + 0x14], eax
jmp 0x67666f
lea edi, [edx + 0x14]
call fcn.00463350
mov dword [esp + 0x1f8], 0
lea eax, [0x79d3e4]
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
mov dword [esp + 0x5c], esi
lea eax, [0x6dd760]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], esi
call fcn.0044b8f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x13c]
mov dword [edx + 0x2c], ecx
mov dword [edx + 0x30], ecx
mov ebx, dword [0x9b1930]
test ebx, ebx
jne 0x6766d3
mov dword [edx + 0x28], eax
jmp 0x6766db
lea edi, [edx + 0x28]
call fcn.00463350
xor eax, eax
jmp 0x6769ee
lea eax, [0x6eaf20]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x154], eax
mov dword [eax + 0xc], 0xd
lea ecx, [0x71bc58]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
call fcn.00409120
mov eax, dword [esp + 8]
lea ecx, [0x6ccd20]
mov edx, dword [esp + 0x154]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x9b1930]
test ecx, ecx
jne 0x676742
mov dword [edx + 0x14], eax
jmp 0x67674a
lea edi, [edx + 0x14]
call fcn.00463350
mov dword [esp + 0x1f8], 0
lea eax, [0x79d3e4]
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
lea eax, [0x6eaf20]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x154], eax
mov dword [eax + 0xc], 0xd
lea ecx, [0x71bc65]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
call fcn.00409120
mov eax, dword [esp + 8]
lea ecx, [0x6ccd20]
mov edx, dword [esp + 0x154]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x9b1930]
test ecx, ecx
jne 0x6767d0
mov dword [edx + 0x14], eax
jmp 0x6767d8
lea edi, [edx + 0x14]
call fcn.00463350
mov dword [esp + 0x1f8], 0
lea eax, [0x79d3e4]
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
mov dword [esp + 0x84], ecx
lea eax, [0x6eaf20]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x16
lea ecx, [0x721601]
mov dword [eax + 8], ecx
lea ecx, [0x6dc1c0]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x84]
movzx ecx, cl
lea edx, [0x963060]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x1f8], 0
lea ecx, [0x79d3e4]
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], eax
add esp, 0x1ec
ret
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
lea eax, [0x6eaf20]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x13
lea ecx, [0x71f8f7]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x13c]
movzx ecx, byte [ecx + 2]
lea edx, [0x6dc1c0]
mov dword [eax + 0x10], edx
lea edx, [0x963060]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x1f8], 0
lea ecx, [0x79d3e4]
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], eax
add esp, 0x1ec
ret
lea eax, [0x6eaf20]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x19
lea ecx, [0x72385a]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x13c]
movzx ecx, byte [ecx + 1]
lea edx, [0x6dbec0]
mov dword [eax + 0x10], edx
lea edx, [0x963060]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x1f8], 0
lea ecx, [0x79d3e4]
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], eax
add esp, 0x1ec
ret
lea eax, [0x6eaf20]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0x11
lea ecx, [0x71e4cf]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x13c]
movzx ecx, byte [ecx]
lea edx, [0x6dbe00]
mov dword [eax + 0x10], edx
lea edx, [0x963060]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x1f8], 0
lea ecx, [0x79d3e4]
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], eax
add esp, 0x1ec
ret
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
lea ebx, [esi + 1]
mov ecx, dword [esp + 0x5c]
mov edx, edi
mov eax, ebx
cmp eax, ecx
jge 0x676e94
mov dword [esp + 0x7c], eax
mov ebx, dword [esp + 0x60]
mov esi, eax
mul ebx
mov edi, dword [esp + 0x54]
add edi, eax
mov ecx, dword [esp + 0x110]
mov ebp, dword [ecx + 8]
mov dword [esp + 0x84], ebp
add ebp, edi
sar esi, 0x1f
imul esi, ebx
add edx, esi
sar ebx, 0x1f
mov esi, dword [esp + 0x7c]
imul ebx, esi
add edx, ebx
mov ebx, dword [esp + 0x54]
add eax, ebx
mov ebx, dword [esp + 0x58]
adc edx, ebx
mov ebx, dword [ecx + 0xc]
mov esi, dword [esp + 0x84]
add edi, esi
adc edx, ebx
cmp ebp, esi
xchg esi, ebx
setb bl
xchg esi, ebx
cmp ebx, edx
sete bl
xchg edi, ebx
setg bl
xchg edi, ebx
nop
and ebx, esi
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x676a6f
mov dword [ecx + 0x10], ebp
mov dword [ecx + 0x14], edx
lea eax, [0x6f42e0]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 0x13c]
movzx edx, byte [ecx]
cmp dl, 1
je 0x676bd3
cmp dl, 2
jne 0x676cf8
lea eax, [0x6ff420]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x13c]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
lea ebp, [0x79d63c]
mov dword [esp], ebp
mov esi, dword [esp + 0x110]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
lea edx, [0x6b5be0]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
call fcn.004c4de0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x676e54
lea edi, [esp + 0x9c]
xor eax, eax
call fcn.00463612
mov ecx, dword [esp + 0x128]
mov edx, dword [ecx]
mov dword [esp + 0x9c], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0xa0], edx
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], ebx
mov edx, dword [ecx + 0x10]
mov ebx, dword [ecx + 0x14]
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], ebx
mov edx, dword [ecx + 0x18]
mov ebx, dword [ecx + 0x1c]
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], ebx
mov edx, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x24]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], ebx
mov edx, dword [ecx + 0x28]
mov ebx, dword [ecx + 0x2c]
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], ebx
mov edx, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], ecx
mov edi, dword [esp + 0x130]
lea esi, [esp + 0x9c]
call fcn.00463aa4
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x13c]
jmp 0x676cf8
lea eax, [0x6ff380]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x12c], eax
mov ecx, dword [esp + 0x13c]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
lea ebp, [0x79d63c]
mov dword [esp], ebp
mov esi, dword [esp + 0x110]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
lea edx, [0x6b5ba0]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
call fcn.004c4de0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x676e74
lea edi, [esp + 0xd4]
xor eax, eax
call fcn.00463612
mov ecx, dword [esp + 0x12c]
mov edx, dword [ecx]
mov dword [esp + 0xd4], edx
mov edx, dword [ecx + 0x18]
mov dword [esp + 0xd8], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0xdc], edx
mov edx, dword [ecx + 8]
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe8], 0
mov edx, dword [ecx + 0xc]
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], 0
mov edx, dword [ecx + 0x10]
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf8], 0
mov edx, dword [ecx + 0x14]
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], 0
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], 0
mov edi, dword [esp + 0x130]
lea esi, [esp + 0xd4]
call fcn.00463aa4
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x13c]
mov edx, dword [eax + 0x20]
mov ebx, 0xffffffff
sub ebx, edx
mov ebp, dword [eax + 8]
mov dword [esp + 0x6c], ebp
cmp ebx, ebp
setae bl
mov esi, dword [eax + 0x24]
mov edi, 0xffffffff
sub edi, edx
mov edi, 0x7fffffff
sbb edi, esi
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x84], ecx
cmp ecx, edi
xchg edi, ebx
sete bl
xchg edi, ebx
setl al
and edi, ebx
or eax, edi
test al, al
je 0x676d43
add edx, ebp
adc esi, ecx
jmp 0x676d4d
mov esi, 0x7fffffff
mov edx, 0xffffffff
mov dword [esp + 0x50], esi
mov dword [esp + 0x48], edx
lea eax, [0x6f0ee0]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x1f0]
mov dword [eax], ecx
mov edx, dword [0x9b1930]
test edx, edx
jne 0x676d86
mov edx, dword [esp + 0x1f4]
mov dword [eax + 4], edx
jmp 0x676da0
lea edi, [eax + 4]
mov edx, eax
mov eax, dword [esp + 0x1f4]
call fcn.00463350
mov eax, edx
mov edx, dword [esp + 0x1f4]
mov ebx, dword [esp + 0x6c]
mov dword [eax + 8], ebx
mov ebp, dword [esp + 0x84]
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebp
mov ebx, dword [esp + 0x48]
mov dword [eax + 0x18], ebx
mov ebx, dword [esp + 0x50]
mov dword [eax + 0x1c], ebx
mov ebx, dword [0x9b1930]
test ebx, ebx
jne 0x676ddb
mov ebx, dword [esp + 0x130]
mov dword [ebx + 0x40], eax
jmp 0x676dea
mov ebx, dword [esp + 0x130]
lea edi, [ebx + 0x40]
call fcn.00463350
lea ebp, [0x79d650]
mov dword [ebx + 0x38], ebp
mov esi, dword [0x9b1930]
test esi, esi
jne 0x676e02
mov dword [ebx + 0x3c], eax
jmp 0x676e0a
lea edi, [ebx + 0x3c]
call fcn.00463350
mov esi, dword [esp + 0x13c]
mov ebp, dword [esi + 0x28]
mov eax, edx
mov edx, dword [esi + 0x2c]
mov edi, esi
mov esi, dword [esp + 0x7c]
cmp esi, edx
jae 0x677b77
lea edx, [ebp + esi*4]
mov ecx, dword [0x9b1930]
test ecx, ecx
jne 0x676e3e
mov dword [ebp + esi*4], ebx
jmp 0x6769e3
mov ecx, edi
mov edi, edx
mov ebp, eax
mov eax, ebx
call fcn.00463350
mov eax, ebp
mov edi, ecx
jmp 0x6769e3
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
lea eax, [0x6e88a0]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0044b8f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x13c]
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], ecx
mov ebx, dword [0x9b1930]
test ebx, ebx
jne 0x676ed2
mov dword [edx + 0x1c], eax
jmp 0x676eda
lea edi, [edx + 0x1c]
call fcn.00463350
lea eax, [0x6cd720]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044b8f0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x150], eax
xor ecx, ecx
jmp 0x676f0b
lea edx, [ebp + 1]
mov eax, dword [esp + 0x150]
mov ecx, edx
mov edx, dword [esp + 0x3c]
cmp ecx, edx
jge 0x67780e
mov dword [esp + 0x78], ecx
mov eax, ecx
mov ebp, dword [esp + 0x40]
mul ebp
mov edi, dword [esp + 0x34]
add edi, eax
mov dword [esp + 0x68], edi
mov ebx, dword [esp + 0x110]
mov esi, dword [ebx + 8]
mov dword [esp + 0x84], esi
add esi, edi
mov dword [esp + 0x64], esi
sar ecx, 0x1f
sar ebp, 0x1f
mov esi, dword [esp + 0x78]
imul ebp, esi
mov esi, dword [esp + 0x40]
imul ecx, esi
add ecx, edx
add ecx, ebp
mov edx, dword [esp + 0x34]
add eax, edx
mov ebp, dword [esp + 0x38]
adc ecx, ebp
mov dword [esp + 0x70], ecx
mov ebp, dword [ebx + 0xc]
mov edx, dword [esp + 0x84]
add edx, edi
adc ecx, ebp
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x84]
cmp esi, edx
setb dl
cmp ebp, ecx
xchg ebp, ebx
setg bl
xchg ebp, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
nop
and edi, edx
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
jne 0x676fab
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x14], ecx
lea eax, [0x6fb5a0]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x124], eax
mov ecx, dword [esp + 0x13c]
movzx edx, byte [ecx]
cmp dl, 1
je 0x677165
cmp dl, 2
jne 0x6772e6
lea eax, [0x702fe0]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x118], eax
mov ecx, dword [esp + 0x13c]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
lea ebp, [0x79d63c]
mov dword [esp], ebp
mov esi, dword [esp + 0x110]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
lea edx, [0x6b5ca0]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
call fcn.004c4de0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x67764e
mov edx, dword [esp + 0x118]
mov ebx, dword [edx]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
jae 0x677b72
mov ebp, dword [esp + 0x150]
mov dword [ebp + eax*4], ebx
lea edi, [esp + 0x15c]
mov ebx, eax
xor eax, eax
call fcn.0046360e
mov ecx, dword [edx + 4]
mov dword [esp + 0x164], ecx
mov ecx, dword [edx + 8]
mov dword [esp + 0x168], ecx
mov ecx, dword [edx + 0x18]
mov ebp, dword [edx + 0x1c]
mov dword [esp + 0x174], ecx
mov dword [esp + 0x178], ebp
mov ecx, dword [edx + 0x20]
mov ebp, dword [edx + 0x24]
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1a0], ebp
mov ecx, dword [edx + 0x10]
mov ebp, dword [edx + 0x14]
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x170], ebp
mov ecx, dword [edx + 0x28]
mov dword [esp + 0x184], ecx
mov ecx, dword [edx + 0x2c]
mov dword [esp + 0x188], ecx
mov ecx, dword [edx + 0x30]
mov ebp, dword [edx + 0x34]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], ebp
mov ecx, dword [edx + 0x38]
mov edx, dword [edx + 0x3c]
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], edx
mov ecx, dword [0x9b1930]
test ecx, ecx
jne 0x677128
mov edi, dword [esp + 0x124]
lea esi, [esp + 0x15c]
call fcn.00463a7c
jmp 0x677152
lea eax, [0x703d80]
mov dword [esp], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 4], eax
lea ecx, [esp + 0x15c]
mov dword [esp + 8], ecx
call fcn.00410b70
xor eax, eax
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x13c]
jmp 0x6772e6
lea eax, [0x702f20]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 0x13c]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
lea ebp, [0x79d63c]
mov dword [esp], ebp
mov esi, dword [esp + 0x110]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
lea edx, [0x6b5c60]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
call fcn.004c4de0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x6777ee
mov edx, dword [esp + 0x11c]
mov ebx, dword [edx]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
jae 0x677b6d
mov ebp, dword [esp + 0x150]
mov dword [ebp + eax*4], ebx
lea edi, [esp + 0x1a4]
mov ebx, eax
xor eax, eax
call fcn.0046360e
mov ecx, dword [edx + 4]
mov dword [esp + 0x1ac], ecx
mov ecx, dword [edx + 8]
mov dword [esp + 0x1b0], ecx
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x1b4], ecx
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1c0], 0
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1e8], 0
mov ecx, dword [edx + 0x18]
mov dword [esp + 0x1cc], ecx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x1d0], ecx
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x1d4], ecx
mov dword [esp + 0x1d8], 0
mov ecx, dword [edx + 0x24]
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], 0
mov ecx, dword [0x9b1930]
test ecx, ecx
jne 0x6772a7
mov edi, dword [esp + 0x124]
lea esi, [esp + 0x1a4]
call fcn.00463a7c
jmp 0x6772d8
lea eax, [0x703d80]
mov dword [esp], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 4], eax
lea ecx, [esp + 0x1a4]
mov dword [esp + 8], ecx
call fcn.00410b70
xor eax, eax
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x150]
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x13c]
mov edx, dword [eax + 0x18]
mov ebx, dword [eax + 0x1c]
test ebx, ebx
jl 0x67774e
mov ebp, dword [eax + 0x40]
mov esi, dword [eax + 0x44]
test esi, esi
jl 0x6776ae
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ebx
mov edi, 0xffffffff
sub edi, ebp
cmp edi, edx
xchg edi, ebx
setae bl
xchg edi, ebx
mov ecx, 0xffffffff
sub ecx, ebp
mov ecx, 0x7fffffff
sbb ecx, esi
cmp ebx, ecx
sete cl
setl al
and ecx, edi
or eax, ecx
test al, al
je 0x677344
add ebp, edx
adc esi, ebx
jmp 0x67734e
mov esi, 0x7fffffff
mov ebp, 0xffffffff
mov dword [esp + 0x4c], esi
mov dword [esp + 0x44], ebp
lea eax, [0x6f0ee0]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x1f0]
mov dword [eax], ecx
mov edx, dword [0x9b1930]
test edx, edx
jne 0x677387
mov edx, dword [esp + 0x1f4]
mov dword [eax + 4], edx
jmp 0x6773a1
lea edi, [eax + 4]
mov edx, eax
mov eax, dword [esp + 0x1f4]
call fcn.00463350
mov eax, edx
mov edx, dword [esp + 0x1f4]
mov ebx, dword [esp + 0x84]
mov dword [eax + 8], ebx
mov ebp, dword [esp + 0x80]
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebp
mov ebx, dword [esp + 0x44]
mov dword [eax + 0x18], ebx
mov ebx, dword [esp + 0x4c]
mov dword [eax + 0x1c], ebx
mov ebx, dword [0x9b1930]
test ebx, ebx
jne 0x6773df
mov ebx, dword [esp + 0x124]
mov dword [ebx + 0x50], eax
jmp 0x6773ee
mov ebx, dword [esp + 0x124]
lea edi, [ebx + 0x50]
call fcn.00463350
mov ebp, dword [ebx + 0xc]
test ebp, 0x800
jne 0x677431
lea ebp, [0x79d650]
mov dword [ebx + 0x48], ebp
mov esi, dword [0x9b1930]
test esi, esi
jne 0x677411
mov dword [ebx + 0x4c], eax
jmp 0x677419
lea edi, [ebx + 0x4c]
call fcn.00463350
mov esi, dword [ebx + 0x40]
mov ebp, dword [ebx + 0x44]
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x24], ebp
mov ebp, dword [esp + 0x13c]
jmp 0x677601
mov ebp, dword [esp + 0x13c]
movzx esi, byte [ebp]
xchg esi, eax
cmp al, 1
xchg esi, eax
je 0x67752b
xchg esi, eax
cmp al, 2
xchg esi, eax
jne 0x677601
lea eax, [0x6efa60]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x140], eax
mov ecx, dword [esp + 0x124]
mov edx, dword [ecx + 0x50]
mov ebx, dword [esp + 0x13c]
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
lea edi, [0x79d63c]
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
lea edx, [0x6b5aa0]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
call fcn.004c4de0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x67766e
mov eax, dword [esp + 0x140]
mov ecx, dword [eax]
mov edx, dword [esp + 0x124]
mov dword [edx + 0x54], ecx
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], ebx
mov ecx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
mov dword [edx + 0x30], ecx
mov dword [edx + 0x34], ebx
lea ecx, [0x6b5aa0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004c6150
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x124]
mov dword [ecx + 0x58], eax
sar eax, 0x1f
mov dword [ecx + 0x5c], eax
mov edx, dword [esp + 0x1f4]
mov ebx, ecx
mov ebp, dword [esp + 0x13c]
mov ecx, dword [esp + 0x1f0]
jmp 0x677601
lea eax, [0x6eaea0]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x144], eax
mov ecx, dword [esp + 0x124]
mov edx, dword [ecx + 0x50]
mov ebx, dword [esp + 0x13c]
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
lea edi, [0x79d63c]
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
lea edx, [0x6b5a60]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
call fcn.004c4de0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x67768e
mov eax, dword [esp + 0x144]
mov ecx, dword [eax]
mov edx, dword [esp + 0x124]
mov dword [edx + 0x54], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], 0
mov ecx, dword [eax + 8]
mov dword [edx + 0x30], ecx
mov dword [edx + 0x34], 0
lea ecx, [0x6b5a60]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004c6150
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x124]
mov dword [ecx + 0x58], eax
sar eax, 0x1f
mov dword [ecx + 0x5c], eax
mov edx, dword [esp + 0x1f4]
mov ebx, ecx
mov ebp, dword [esp + 0x13c]
mov ecx, dword [esp + 0x1f0]
mov esi, dword [ebp + 0x1c]
mov eax, edx
mov edx, dword [ebp + 0x20]
mov edi, ebp
mov ebp, dword [esp + 0x78]
cmp ebp, edx
jae 0x677b64
lea edx, [esi + ebp*4]
mov dword [esp + 0x14c], edx
mov edx, dword [0x9b1930]
test edx, edx
jne 0x677633
mov dword [esi + ebp*4], ebx
jmp 0x676eff
mov edx, edi
mov edi, dword [esp + 0x14c]
mov esi, eax
mov eax, ebx
call fcn.00463350
mov eax, esi
mov edi, edx
jmp 0x676eff
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
lea eax, [0x6eaf20]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x154], eax
mov ecx, dword [esp + 0x68]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x14
lea ecx, [0x72016f]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x124]
mov edx, dword [ecx + 0x40]
mov ecx, dword [ecx + 0x44]
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.00409120
mov eax, dword [esp + 8]
lea ecx, [0x6ccd20]
mov edx, dword [esp + 0x154]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x9b1930]
test ecx, ecx
jne 0x677720
mov dword [edx + 0x14], eax
jmp 0x677728
lea edi, [edx + 0x14]
call fcn.00463350
mov dword [esp + 0x1f8], 0
lea eax, [0x79d3e4]
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
lea eax, [0x6eaf20]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x154], eax
mov ecx, dword [esp + 0x68]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x16
lea ecx, [0x7215a9]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x124]
mov edx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.00409120
mov eax, dword [esp + 8]
lea ecx, [0x6ccd20]
mov edx, dword [esp + 0x154]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x9b1930]
test ecx, ecx
jne 0x6777c0
mov dword [edx + 0x14], eax
jmp 0x6777c8
lea edi, [edx + 0x14]
call fcn.00463350
mov dword [esp + 0x1f8], 0
lea eax, [0x79d3e4]
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
mov ebx, dword [esp + 0x13c]
mov ecx, dword [ebx + 0x20]
mov ebp, dword [ebx + 0x1c]
test ecx, ecx
je 0x6778c2
mov esi, dword [esp + 0x30]
cmp esi, ecx
jae 0x677b5d
mov eax, dword [ebp + esi*4]
mov dword [esp], eax
call fcn.006759c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 4]
mov esi, dword [esp + 0xc]
test eax, eax
jne 0x6778a2
mov dword [esp + 0x28], ebx
mov dword [esp + 0x114], ebp
mov dword [esp + 0x2c], esi
mov edx, dword [esp + 0x13c]
mov eax, esi
mov esi, dword [edx + 0x1c]
mov dword [esp + 0x148], esi
mov ecx, edx
mov edx, dword [edx + 0x20]
mov dword [esp + 0x88], edx
mov edi, dword [esp + 0x150]
mov dword [esp + 0x8c], eax
xor eax, eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x8c]
jmp 0x677913
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
mov dword [esp + 0x1f8], ebx
mov dword [esp + 0x1fc], 0
mov dword [esp + 0x200], 0
add esp, 0x1ec
ret
lea edx, [ebp + 1]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x28]
mov ebx, esi
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0x148]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0x74]
cmp ebp, edx
jge 0x677a1e
mov esi, dword [esi + ebp*4]
mov edx, dword [esp + 0x3c]
cmp ebp, edx
jae 0x677b54
mov edx, dword [edi + ebp*4]
test edx, edx
jl 0x677939
cmp ebx, edx
jg 0x677951
xor edx, edx
xor edx, edx
mov dword [esp + 0x10c], edx
xor edx, edx
mov dword [esp + 0x24], edx
xor edx, edx
jmp 0x6779e2
mov dword [esp + 0x120], esi
mov dword [esp + 0x84], edx
jmp 0x677a4e
mov esi, dword [esp + 0x84]
cmp edx, esi
jb 0x677b42
mov dword [esp], 0
sub eax, esi
neg eax
sar eax, 0x1f
and eax, esi
add eax, ebp
mov dword [esp + 4], eax
sub edx, esi
mov dword [esp + 8], edx
call fcn.0044f4c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x120]
mov edi, dword [esp + 0x150]
mov edx, 1
mov dword [esp + 0x10c], eax
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x13c]
jmp 0x6779e2
xor edx, edx
xor edx, edx
mov dword [esp + 0x10c], edx
xor edx, edx
mov dword [esp + 0x24], edx
xor edx, edx
mov ebx, dword [esp + 0x24]
mov dword [esi + 4], ebx
mov ebx, dword [0x9b1930]
test ebx, ebx
jne 0x6779fe
mov ebx, dword [esp + 0x10c]
mov dword [esi], ebx
jmp 0x677a14
mov ebx, edi
mov edi, esi
mov eax, dword [esp + 0x10c]
call fcn.00463350
mov eax, dword [esp + 0x2c]
mov edi, ebx
test dl, dl
jne 0x6778e6
jmp 0x677a73
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1fc], 0
mov dword [esp + 0x200], 0
add esp, 0x1ec
ret
inc edx
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x120]
cmp edx, ebx
jge 0x6779cf
jae 0x677b4b
mov ebp, dword [esp + 0x114]
movzx esi, byte [ebp + edx]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x677a42
jmp 0x677964
mov eax, dword [esp + 0x40]
imul eax, ebp
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x34]
add eax, ecx
mov dword [esp + 0x84], eax
lea ebx, [0x6eaf20]
mov dword [esp], ebx
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x154], eax
mov ecx, dword [esp + 0x84]
mov dword [eax], ecx
mov ecx, dword [esp + 0x88]
mov edx, ecx
sar ecx, 0x1f
mov ebx, dword [esp + 0x34]
add edx, ebx
mov edx, dword [esp + 0x38]
adc ecx, edx
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0x16
lea ecx, [0x721341]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x150]
mov ecx, dword [edx + ecx*4]
mov dword [esp], ecx
call fcn.004090c0
mov eax, dword [esp + 4]
lea ecx, [0x6cd720]
mov edx, dword [esp + 0x154]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x9b1930]
test ecx, ecx
jne 0x677b14
mov dword [edx + 0x14], eax
jmp 0x677b1c
lea edi, [edx + 0x14]
call fcn.00463350
mov dword [esp + 0x1f8], 0
lea eax, [0x79d3e4]
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], edx
add esp, 0x1ec
ret
mov eax, esi
mov ecx, edx
call fcn.00463430
mov eax, edx
mov ecx, ebx
call fcn.004633d0
mov eax, ebp
mov ecx, edx
call fcn.004633d0
mov eax, esi
call fcn.004633d0
mov eax, ebp
mov ecx, edx
call fcn.004633d0
call fcn.004633d0
call fcn.004633d0
mov eax, esi
mov ecx, edx
call fcn.004633d0
nop
call fcn.00461f40
jmp fcn.00676040