Function at 0x45db6b
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xcc
mov eax, dword [ebp + 0xc]
mov byte [ebp - 0x9c], al
mov eax, dword [0x56d28c]
test eax, eax
jne 0x45ff23
mov eax, dword [0x5212d8]
mov dword [0xa3da28], eax
mov dword [0x5212d8], 1
call fcn.004722d9
mov dword [0xa3da2c], eax
call fcn.004722e5
mov dword [esp], eax
call fcn.0047219f
call fcn.004722e5
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00471be6
mov dword [0xa3da30], eax
mov eax, dword [0xa3da30]
cmp eax, 0xffffffff
jne 0x45dbf0
mov dword [esp], 0x204
call fcn.00449374
call fcn.004722e5
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00471be6
mov dword [0xa3da34], eax
mov eax, dword [0xa3da34]
cmp eax, 0xffffffff
jne 0x45dc28
mov dword [esp], 0x205
call fcn.00449374
mov eax, dword [0x6930cc]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xa3da38], eax
mov eax, dword [0x6930cc]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xa3da3c], eax
mov eax, dword [0x6930cc]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xa3da40], eax
mov eax, dword [0x521014]
mov dword [ebp - 0x74], eax
mov dword [0xa3da44], 0
mov eax, dword [0x67d6e4]
and eax, 0x40000000
test eax, eax
je 0x45dc99
mov eax, dword [0x67d6e4]
and eax, 0x200
test eax, eax
je 0x45dc99
mov dword [0x67d6e4], 0xfffffe00
mov dword [0xa3da44], 1
mov eax, dword [0x6930cc]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa17f04], eax
mov eax, dword [0x6930cc]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0044aa8e
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0044aa8e
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0044aa8e
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.0044aa8e
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x45dd46
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0044aa8e
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa17b00], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x45dd22
mov dword [ebp - 0x1c], 1
jmp 0x45de0f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x40000000
test eax, eax
je 0x45ddc6
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67d2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x45ddb5
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67d2c0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67d2c0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x45ddc6
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67d2c0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1000000
test eax, eax
jne 0x45de0b
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x67d2c0]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x45dd5f
jmp 0x45de38
nop
jmp 0x45de38
nop
jmp 0x45de38
nop
jmp 0x45de38
nop
jmp 0x45de38
nop
jmp 0x45de38
nop
jmp 0x45de38
nop
jmp 0x45de38
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa17b04]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x1c]
jle 0x45df76
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2c
jne 0x45ded2
cmp dword [ebp - 0x20], 1
je 0x45ded2
mov eax, dword [0xa3da44]
test eax, eax
jne 0x45ded2
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x45deb5
mov dword [ebp - 0x3c], 1
jmp 0x45df76
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x45df6d
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x22
jne 0x45df11
cmp dword [ebp - 0x38], 0
je 0x45df02
mov eax, dword [0xa3da44]
test eax, eax
jne 0x45df02
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x45df6d
cmp dword [ebp - 0x20], 1
jne 0x45df11
mov dword [ebp - 0x20], 2
jmp 0x45df6d
cmp dword [ebp - 0x20], 2
je 0x45fd93
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c]
add eax, edx
movzx eax, byte [eax]
mov byte [ecx], al
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa17b00]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0044b3b9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044abf5
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x45de67
cmp dword [ebp - 0x3c], 0
jne 0x45fd96
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x40000000
test eax, eax
jne 0x45e4a7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x20000000
test eax, eax
jne 0x45e4a7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x45e4a7
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x45e029
mov dword [ebp - 0x88], 0x30
jmp 0x45e457
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x4c], 0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
shld edx, eax, cl
shl eax, cl
test cl, 0x20
je 0x45e060
mov edx, eax
xor eax, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
add dword [ebp - 0x50], 0xffffffff
adc dword [ebp - 0x4c], 0xffffffff
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov dword [esp], eax
call fcn.0045d7fb
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x45e232
mov eax, dword [0xa176d8]
mov edx, dword [0xa176dc]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x4c]
jb 0x45e0c1
cmp edx, dword [ebp - 0x4c]
ja 0x45e0b8
cmp eax, dword [ebp - 0x50]
jbe 0x45e0c1
mov byte [ebp - 0x3d], 0
jmp 0x45f655
cmp dword [ebp - 0x24], 1
jne 0x45e164
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 1
jmp 0x45e11c
mov eax, dword [ebp - 0x68]
mov esi, eax
and esi, 0xf
mov eax, dword [ebp - 0x64]
mov edi, eax
and edi, 0
mov eax, edi
or eax, esi
test eax, eax
je 0x45e105
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
shrd eax, edx, 4
shr edx, 4
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], 0x10
setle al
test al, al
jne 0x45e0e7
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x45e13e
mov byte [ebp - 0x3d], 0
jmp 0x45f655
cmp dword [ebp - 0x8c], 1
jne 0x45e151
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x45e164
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x45e21b
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 1
jmp 0x45e1d3
mov eax, dword [ebp - 0x68]
mov edx, eax
and edx, 7
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0x64]
mov ecx, eax
and ecx, 0
mov dword [ebp - 0xac], ecx
mov eax, dword [ebp - 0xac]
or eax, dword [ebp - 0xb0]
test eax, eax
je 0x45e1bc
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
shrd eax, edx, 3
shr edx, 3
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], 0x16
setle al
test al, al
jne 0x45e18a
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x45e1f5
mov byte [ebp - 0x3d], 0
jmp 0x45f655
cmp dword [ebp - 0x8c], 1
jne 0x45e208
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x45e21b
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
jmp 0x45e457
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x10000000
test eax, eax
je 0x45e255
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x45e279
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
shrd eax, edx, 1
shr edx, 1
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
add eax, 1
adc edx, 0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x10000000
test eax, eax
jne 0x45e2c5
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x45e2c5
cmp dword [ebp - 0x8c], 1
jne 0x45e2bd
mov dword [ebp - 0x88], 0x30
jmp 0x45e457
add dword [ebp - 0x20], 1
mov byte [ebp - 0x3e], 1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x30
jne 0x45e2ee
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x45e2ee
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x45e413
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
sub eax, 0x30
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
js 0x45e3de
cmp dword [ebp - 0x24], 9
jg 0x45e3de
mov eax, dword [ebp - 0x24]
mov edx, eax
sar edx, 0x1f
mov ecx, dword [ebp - 0x60]
mov ebx, ecx
imul ebx, edx
mov ecx, dword [ebp - 0x5c]
imul ecx, eax
add ecx, ebx
mul dword [ebp - 0x60]
add ecx, edx
mov edx, ecx
add dword [ebp - 0x68], eax
adc dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x10000000
test eax, eax
je 0x45e39c
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x45e3e7
cmp edx, dword [ebp - 0x4c]
ja 0x45e393
cmp eax, dword [ebp - 0x50]
jbe 0x45e3e7
mov byte [ebp - 0x3d], 0
jmp 0x45f655
cmp byte [ebp - 0x3e], 0
je 0x45e3c0
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x45e3e7
cmp edx, dword [ebp - 0x54]
ja 0x45e3b7
cmp eax, dword [ebp - 0x58]
jbe 0x45e3e7
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x45e3e7
cmp edx, dword [ebp - 0x4c]
ja 0x45e3d5
cmp eax, dword [ebp - 0x50]
jbe 0x45e3e7
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov byte [ebp - 0x3d], 0
jmp 0x45f655
nop
mov eax, dword [ebp - 0x5c]
imul edx, eax, 0xa
mov eax, dword [ebp - 0x60]
imul eax, eax, 0
lea ecx, [edx + eax]
mov eax, 0xa
mul dword [ebp - 0x60]
add ecx, edx
mov edx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
sub dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x45e31b
cmp byte [ebp - 0x3e], 0
je 0x45e445
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
neg eax
adc edx, 0
neg edx
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
jmp 0x45e457
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1000000
test eax, eax
jne 0x45f655
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67d2c0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x45f655
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x40000000
test eax, eax
je 0x45e50f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x45e4ea
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d2c0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x45e4ea
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa17b00]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d2c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044abf5
jmp 0x45f655
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x40000000
test eax, eax
jne 0x45e8b5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x20000000
test eax, eax
jne 0x45e8b5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x45e8b5
cmp dword [ebp - 0x8c], 0
jne 0x45e584
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d2c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x45f655
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov dword [esp], eax
call fcn.0045d7fb
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x45e636
mov eax, dword [0xa176d8]
mov edx, dword [0xa176dc]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x4c]
jb 0x45e5d7
cmp edx, dword [ebp - 0x4c]
ja 0x45e5ce
cmp eax, dword [ebp - 0x50]
jbe 0x45e5d7
mov byte [ebp - 0x3d], 0
jmp 0x45f655
cmp dword [ebp - 0x24], 1
jne 0x45e5f0
cmp dword [ebp - 0x8c], 1
jne 0x45e5f0
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x45e609
cmp dword [ebp - 0x8c], 1
jne 0x45e609
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x45e61c
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67d2c0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x45f655
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x10000000
test eax, eax
jne 0x45e699
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x45e699
cmp dword [ebp - 0x8c], 1
jne 0x45e691
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d2c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x45f655
add dword [ebp - 0x20], 1
mov byte [ebp - 0x3e], 1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x30
jne 0x45e6c2
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x45e6c2
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x45e70b
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
sub eax, 0x30
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
js 0x45e6fa
cmp dword [ebp - 0x24], 9
jle 0x45e703
mov byte [ebp - 0x3d], 0
jmp 0x45f655
add dword [ebp - 0x28], 1
sub dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x45e6d7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x10000000
test eax, eax
je 0x45e74e
cmp dword [ebp - 0x28], 0x13
jle 0x45e7fe
cmp dword [ebp - 0x28], 0x14
jle 0x45e744
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x45e77f
cmp dword [ebp - 0x28], 0x12
jle 0x45e801
cmp dword [ebp - 0x28], 0x13
jle 0x45e767
mov byte [ebp - 0x3d], 0
jmp 0x45f655
cmp byte [ebp - 0x3e], 0
je 0x45e777
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x45e77f
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x45e7ef
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
add eax, edx
mov edx, eax
mov eax, dword [ebp - 0x90]
add eax, edx
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
add eax, edx
movzx eax, byte [eax]
cmp cl, al
jb 0x45e804
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
add eax, edx
mov edx, eax
mov eax, dword [ebp - 0x90]
add eax, edx
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
add eax, edx
movzx eax, byte [eax]
cmp cl, al
jbe 0x45e7eb
mov byte [ebp - 0x3d], 0
jmp 0x45f655
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x45e79a
jmp 0x45e805
nop
jmp 0x45e805
nop
jmp 0x45e805
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa17b00]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0044b3b9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044abf5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x10000000
test eax, eax
je 0x45e886
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x67d2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], str._I64u
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x45f655
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x67d2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], str._I64i
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x45f655
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x20000000
test eax, eax
je 0x45f655
mov dword [0xa3da48], 0
mov dword [0xa3da4c], 0
mov dword [0xa3da50], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xa3da54], 0
mov dword [0xa17ae0], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x45e931
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x67d2c0]
mov eax, dword [0x551218]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x45e953
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d2c0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x45e98a
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x67d2c0]
mov eax, 0
mov edx, 0
mov ecx, 0
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
cmp dword [ebp - 0x8c], 0
jne 0x45e9a2
mov dword [ebp - 0x88], 0x30
jmp 0x45f655
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov dword [esp], eax
call fcn.0045d7fb
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x45eca7
mov eax, dword [0xa176d8]
mov edx, dword [0xa176dc]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x45e9f0
cmp dword [ebp - 0x8c], 1
jne 0x45e9f0
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x45ea09
cmp dword [ebp - 0x8c], 1
jne 0x45ea09
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x45ea1c
mov dword [ebp - 0x88], 0x30
mov dword [0xa3da58], 0x7fffffff
mov dword [0xa3da5c], 0
mov eax, dword [0xa3da58]
mov edx, dword [0xa3da5c]
mov edx, eax
mov eax, 0
mov dword [0xa3da58], eax
mov dword [0xa3da5c], edx
mov eax, dword [0xa3da58]
mov edx, dword [0xa3da5c]
mov ecx, eax
or ecx, 0xffffffff
mov dword [ebp - 0xb8], ecx
mov ecx, edx
or ch, 0
mov dword [ebp - 0xb4], ecx
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb4]
mov dword [0xa3da58], eax
mov dword [0xa3da5c], edx
jmp 0x45eb7e
mov eax, dword [0xa3da58]
mov edx, dword [0xa3da5c]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x45eae6
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67d2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d2c0]
fld dword [eax]
mov eax, dword [0xa3da58]
mov edx, dword [0xa3da5c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp dword [ecx]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x45eb31
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67d2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d2c0]
fld qword [eax]
mov eax, dword [0xa3da58]
mov edx, dword [0xa3da5c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp qword [ecx]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x45eb7e
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67d2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d2c0]
fld xword [eax]
mov eax, dword [0xa3da58]
mov edx, dword [0xa3da5c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xa3da58]
mov edx, dword [0xa3da5c]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x45eba2
cmp edx, dword [ebp - 0x6c]
ja 0x45eb9d
cmp eax, dword [ebp - 0x70]
jb 0x45eba2
mov ecx, 0
test cl, cl
jne 0x45ea8a
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xa3da58], eax
mov dword [0xa3da5c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x45ec06
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67d2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d2c0]
fld dword [eax]
mov eax, dword [0xa3da58]
mov edx, dword [0xa3da5c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp dword [ecx]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x45ec51
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67d2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d2c0]
fld qword [eax]
mov eax, dword [0xa3da58]
mov edx, dword [0xa3da5c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp qword [ecx]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x45f651
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x67d2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d2c0]
fld xword [eax]
mov eax, dword [0xa3da58]
mov edx, dword [0xa3da5c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x45f651
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x45ece0
cmp dword [ebp - 0x8c], 1
jne 0x45ecd8
mov dword [ebp - 0x88], 0x30
jmp 0x45f655
add dword [ebp - 0x20], 1
mov byte [ebp - 0x3e], 1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x30
jne 0x45ed27
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x45f654
add dword [ebp - 0x20], 1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2e
je 0x45edea
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x45edd1
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x44
je 0x45ed5e
cmp dword [ebp - 0x24], 0x64
je 0x45ed5e
cmp dword [ebp - 0x24], 0x45
je 0x45ed5e
cmp dword [ebp - 0x24], 0x65
jne 0x45ed7a
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x45ed6f
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x45ef00
cmp dword [ebp - 0x24], 0x2e
jne 0x45ed88
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x45edeb
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x45ed98
cmp dword [ebp - 0x24], 9
jle 0x45eda1
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov eax, dword [0xa3da48]
add eax, 1
mov dword [0xa3da48], eax
mov edx, dword [0xa17ae0]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa176e0], al
mov eax, dword [0xa17ae0]
add eax, 1
mov dword [0xa17ae0], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x45ed32
jmp 0x45f0da
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x45ee0f
mov dword [ebp - 0x88], 0x30
jmp 0x45f0da
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x45eee7
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x44
je 0x45ee4a
cmp dword [ebp - 0x24], 0x64
je 0x45ee4a
cmp dword [ebp - 0x24], 0x45
je 0x45ee4a
cmp dword [ebp - 0x24], 0x65
jne 0x45ee6f
mov eax, dword [0xa17ae0]
test eax, eax
je 0x45ee6f
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x45ee64
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x45ef00
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x45ee7f
cmp dword [ebp - 0x24], 9
jle 0x45ee88
mov byte [ebp - 0x3d], 0
jmp 0x45f655
cmp dword [ebp - 0x24], 0
je 0x45ee95
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x45eea8
mov eax, dword [0xa3da54]
add eax, 1
mov dword [0xa3da54], eax
mov eax, dword [0xa3da4c]
add eax, 1
mov dword [0xa3da4c], eax
mov eax, dword [0xa17ae0]
test eax, eax
jne 0x45eec4
cmp dword [ebp - 0x24], 0
je 0x45eee3
mov edx, dword [0xa17ae0]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa176e0], al
mov eax, dword [0xa17ae0]
add eax, 1
mov dword [0xa17ae0], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x45ee1e
jmp 0x45f0da
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x45ef3d
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x44
je 0x45ef34
cmp dword [ebp - 0x24], 0x64
jne 0x45ef3d
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x44
je 0x45ef5d
cmp dword [ebp - 0x24], 0x64
jne 0x45ef6b
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
mov byte [eax], 0x45
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x45ef88
mov dword [ebp - 0x88], 0x30
jmp 0x45f0da
add dword [ebp - 0x20], 1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x2d
jne 0x45efd1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x45efc3
mov dword [ebp - 0x88], 0x30
jmp 0x45f0da
mov dword [0xa3da50], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x45eff8
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x45eff4
mov dword [ebp - 0x88], 0x30
jmp 0x45f0da
add dword [ebp - 0x20], 1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x30
jne 0x45f021
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x45f021
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x45f0c9
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
sub eax, 0x30
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
js 0x45f0c0
cmp dword [ebp - 0x24], 9
jg 0x45f0c0
mov eax, dword [ebp - 0x24]
mov edx, eax
sar edx, 0x1f
mov ecx, dword [ebp - 0x60]
mov ebx, ecx
imul ebx, edx
mov ecx, dword [ebp - 0x5c]
imul ecx, eax
add ecx, ebx
mul dword [ebp - 0x60]
add ecx, edx
mov edx, ecx
add dword [ebp - 0x68], eax
adc dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x5c]
imul edx, eax, 0xa
mov eax, dword [ebp - 0x60]
imul eax, eax, 0
lea ecx, [edx + eax]
mov eax, 0xa
mul dword [ebp - 0x60]
add ecx, edx
mov edx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
sub dword [ebp - 0x1c], 1
jmp 0x45f0c9
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x45f04b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x45f348
mov eax, dword [0xa3da50]
test eax, eax
je 0x45f105
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa3da54]
cmp eax, 1
jne 0x45f12d
mov eax, dword [0xa3da4c]
cmp eax, 1
jne 0x45f12d
mov dword [0xa3da4c], 0
mov dword [0xa3da54], 0
mov eax, dword [0xa3da54]
cmp eax, 0x2b
jle 0x45f140
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov eax, dword [0xa3da48]
test eax, eax
jne 0x45f15c
mov edx, dword [0xa3da4c]
mov eax, dword [0xa3da54]
cmp edx, eax
je 0x45f2d6
mov eax, dword [0xa3da48]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x45f174
mov eax, dword [0xa3da54]
neg eax
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x1c]
add eax, edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x27
jle 0x45f18e
mov byte [ebp - 0x3d], 0
jmp 0x45f655
cmp dword [ebp - 0x1c], 0x27
jne 0x45f205
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa17ae0]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x45f1b1
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x45f1f5
mov eax, dword [ebp - 0x24]
add eax, 0xa176e0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x45f1d8
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov eax, dword [ebp - 0x24]
add eax, 0xa176e0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x45f204
add dword [ebp - 0x44], 1
add dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x20]
setl al
test al, al
jne 0x45f1ba
jmp 0x45f205
nop
mov eax, dword [0xa3da4c]
test eax, eax
je 0x45f251
mov eax, dword [0xa3da48]
test eax, eax
je 0x45f232
mov edx, dword [0xa3da4c]
mov eax, dword [0xa3da48]
add eax, edx
cmp eax, 8
jle 0x45f251
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov edx, dword [0xa3da4c]
mov eax, dword [0xa3da54]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x45f251
mov byte [ebp - 0x3d], 0
jmp 0x45f655
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x45f260
mov byte [ebp - 0x3d], 0
jmp 0x45f655
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x45f2da
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa17ae0]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x45f283
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x45f2c7
mov eax, dword [ebp - 0x24]
add eax, 0xa176e0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x45f2aa
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov eax, dword [ebp - 0x24]
add eax, 0xa176e0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x45f2d9
add dword [ebp - 0x44], 1
add dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x20]
setl al
test al, al
jne 0x45f28c
jmp 0x45f2da
nop
jmp 0x45f2da
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa17b00]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0044b3b9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044abf5
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x67d2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x53d833
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x45f655
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x45f5c4
mov eax, dword [0xa3da50]
test eax, eax
je 0x45f373
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa3da54]
cmp eax, 1
jne 0x45f39b
mov eax, dword [0xa3da4c]
cmp eax, 1
jne 0x45f39b
mov dword [0xa3da4c], 0
mov dword [0xa3da54], 0
mov eax, dword [0xa3da54]
cmp eax, 0x142
jle 0x45f3b0
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov eax, dword [0xa3da48]
test eax, eax
jne 0x45f3cc
mov edx, dword [0xa3da4c]
mov eax, dword [0xa3da54]
cmp edx, eax
je 0x45f552
mov eax, dword [0xa3da48]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x45f3e4
mov eax, dword [0xa3da54]
neg eax
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x1c]
add eax, edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x135
jle 0x45f401
mov byte [ebp - 0x3d], 0
jmp 0x45f655
cmp dword [ebp - 0x1c], 0x135
jne 0x45f47b
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa17ae0]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x45f427
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x45f46b
mov eax, dword [ebp - 0x24]
add eax, 0xa176e0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x45f44e
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov eax, dword [ebp - 0x24]
add eax, 0xa176e0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x45f47a
add dword [ebp - 0x44], 1
add dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x20]
setl al
test al, al
jne 0x45f430
jmp 0x45f47b
nop
mov eax, dword [0xa3da4c]
test eax, eax
je 0x45f4c7
mov eax, dword [0xa3da48]
test eax, eax
je 0x45f4a8
mov edx, dword [0xa3da4c]
mov eax, dword [0xa3da48]
add eax, edx
cmp eax, 0x10
jle 0x45f4c7
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov edx, dword [0xa3da4c]
mov eax, dword [0xa3da54]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x45f4c7
mov byte [ebp - 0x3d], 0
jmp 0x45f655
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x45f4d9
mov byte [ebp - 0x3d], 0
jmp 0x45f655
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x45f556
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa17ae0]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x45f4ff
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x45f543
mov eax, dword [ebp - 0x24]
add eax, 0xa176e0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x45f526
mov byte [ebp - 0x3d], 0
jmp 0x45f655
mov eax, dword [ebp - 0x24]
add eax, 0xa176e0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x45f555
add dword [ebp - 0x44], 1
add dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x20]
setl al
test al, al
jne 0x45f508
jmp 0x45f556
nop
jmp 0x45f556
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa17b00]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0044b3b9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044abf5
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x67d2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x53d836
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x45f655
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x45f655
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa17b00]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0044b3b9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044abf5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa17b00]
mov eax, dword [eax]
mov dword [esp + 8], 0xa3da60
mov dword [esp + 4], 0x53d836
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x67d2c0]
fld qword [0xa3da60]
fstp xword [eax]
jmp 0x45f655
nop
jmp 0x45f655
nop
cmp byte [ebp - 0x3d], 0
je 0x45fd99
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0044abf5
jmp 0x45f674
nop
mov dword [0xa3da68], 0
jmp 0x45f681
nop
mov eax, dword [0x6930cc]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x45f8b6
mov dword [ebp - 0x1c], 1
mov eax, dword [0x6930cc]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x45f6c4
mov eax, dword [0x6930cc]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x45f6c4
mov eax, dword [0x6930cc]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x45f6fe
call fcn.0043ecc3
mov ecx, eax
and ecx, 0x200
mov dword [ebp - 0xc0], ecx
mov ecx, edx
and ecx, 0
mov dword [ebp - 0xbc], ecx
mov eax, dword [ebp - 0xc0]
or eax, dword [ebp - 0xbc]
test eax, eax
setne al
test al, al
je 0x45f6fe
mov dword [ebp - 0x1c], 0
mov eax, dword [0xa3da68]
cmp dword [ebp - 0x1c], eax
je 0x45f8b6
mov eax, dword [0xa3da68]
xor eax, 1
mov dword [0xa3da68], eax
mov eax, dword [0x6930cc]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa3da6c], eax
mov eax, dword [0x6930cc]
mov byte [eax + 0x50], 1
mov edx, dword [0x6826f0]
mov eax, dword [0x6930cc]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa3da70], eax
mov edx, dword [0x6826f4]
mov eax, dword [0x6930cc]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa3da74], eax
mov eax, dword [0xa3da74]
test eax, eax
jne 0x45f77a
mov dword [0xa3da74], 1
mov eax, dword [0xa3da74]
mov dword [0xa3da78], eax
mov eax, dword [0x6930cc]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x45f7af
mov eax, dword [0x6930cc]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x45f7af
mov eax, dword [0x6930cc]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x45f7b9
mov dword [0xa3da78], 1
mov eax, dword [0x6930cc]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa3da70]
imul eax, edx
mov dword [0xa3da7c], eax
mov dword [0xa3da80], 0
jmp 0x45f890
mov eax, dword [0x6930cc]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa3da74]
imul eax, edx
mov dword [0xa3da84], eax
mov dword [0xa3da88], 0
jmp 0x45f862
mov edx, dword [0xa3da7c]
mov eax, dword [0xa3da84]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00458f80
mov edx, eax
mov eax, dword [0x6930cc]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa3da7c]
mov eax, dword [0xa3da84]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0043fe0e
mov eax, dword [0xa3da84]
add eax, 1
mov dword [0xa3da84], eax
mov eax, dword [0xa3da88]
add eax, 1
mov dword [0xa3da88], eax
mov edx, dword [0xa3da88]
mov eax, dword [0xa3da78]
cmp edx, eax
setl al
test al, al
jne 0x45f808
mov eax, dword [0xa3da7c]
add eax, 1
mov dword [0xa3da7c], eax
mov eax, dword [0xa3da80]
add eax, 1
mov dword [0xa3da80], eax
mov edx, dword [0xa3da80]
mov eax, dword [0xa3da70]
cmp edx, eax
setl al
test al, al
jne 0x45f7e2
mov edx, dword [0x6930cc]
mov eax, dword [0xa3da6c]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x45f8e5
sub dword [ebp - 0x30], 1
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0x20
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0044abf5
jmp 0x45f9bb
mov eax, dword [0x6930cc]
movzx eax, byte [eax + 0x12]
test al, al
je 0x45f96a
mov dword [esp], 0x536446
call fcn.0044a87a
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0044abf5
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], eax
call sub.msvcrt.dll_fgetc
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xffffffff
je 0x45f957
cmp dword [ebp - 0x2c], 0xa
jne 0x45f930
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x53d83a
call fcn.0044a87a
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0044abf5
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x45f9a8
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x45f9a8
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call fcn.0044ccce
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0044abf5
mov dword [0x6823d8], 1
call fcn.0040eef2
mov dword [0x6823d8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.0049d7ad
movzx eax, byte [0x56d299]
test al, al
jne 0x45ff26
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x45f680
mov eax, dword [0x6930cc]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x45fb9e
mov eax, dword [0xa3da68]
test eax, eax
je 0x45fb9e
mov dword [0xa3da68], 0
mov eax, dword [0x6930cc]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa3da8c], eax
mov eax, dword [0x6930cc]
mov byte [eax + 0x50], 1
mov edx, dword [0x6826f0]
mov eax, dword [0x6930cc]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa3da90], eax
mov edx, dword [0x6826f4]
mov eax, dword [0x6930cc]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa3da94], eax
mov eax, dword [0xa3da94]
test eax, eax
jne 0x45fa62
mov dword [0xa3da94], 1
mov eax, dword [0xa3da94]
mov dword [0xa3da98], eax
mov eax, dword [0x6930cc]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x45fa97
mov eax, dword [0x6930cc]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x45fa97
mov eax, dword [0x6930cc]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x45faa1
mov dword [0xa3da98], 1
mov eax, dword [0x6930cc]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa3da90]
imul eax, edx
mov dword [0xa3da9c], eax
mov dword [0xa3daa0], 0
jmp 0x45fb78
mov eax, dword [0x6930cc]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa3da94]
imul eax, edx
mov dword [0xa3daa4], eax
mov dword [0xa3daa8], 0
jmp 0x45fb4a
mov edx, dword [0xa3da9c]
mov eax, dword [0xa3daa4]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00458f80
mov edx, eax
mov eax, dword [0x6930cc]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa3da9c]
mov eax, dword [0xa3daa4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0043fe0e
mov eax, dword [0xa3daa4]
add eax, 1
mov dword [0xa3daa4], eax
mov eax, dword [0xa3daa8]
add eax, 1
mov dword [0xa3daa8], eax
mov edx, dword [0xa3daa8]
mov eax, dword [0xa3da98]
cmp edx, eax
setl al
test al, al
jne 0x45faf0
mov eax, dword [0xa3da9c]
add eax, 1
mov dword [0xa3da9c], eax
mov eax, dword [0xa3daa0]
add eax, 1
mov dword [0xa3daa0], eax
mov edx, dword [0xa3daa0]
mov eax, dword [0xa3da90]
cmp edx, eax
setl al
test al, al
jne 0x45faca
mov edx, dword [0x6930cc]
mov eax, dword [0xa3da8c]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x45fbc2
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045b016
jmp 0x45de38
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x45de22
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x45fbfe
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
mov edx, eax
and edx, 7
mov eax, 8
sub eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
jmp 0x45de38
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x45de25
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x45de28
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x45de2b
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x45de2e
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x45de31
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x45de34
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x45fd81
mov dword [ebp - 0x1c], 1
jmp 0x45fc8d
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa17b00]
mov dword [esp], eax
call fcn.0044a001
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x45fc77
cmp byte [ebp - 0x9c], 0
je 0x45fcd3
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x6930cc]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x45fcd3
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.0045b016
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.0044a001
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0044a001
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0044a001
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0044a001
mov eax, dword [0x6930cc]
mov edx, dword [0xa17f04]
mov byte [eax + 0x3c], dl
mov eax, dword [0xa3da30]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.00471ec3
mov eax, dword [0xa3da34]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.00471ec3
mov eax, dword [0xa3da28]
test eax, eax
jne 0x45fd6e
mov dword [0x5212d8], 0xffffffff
jmp 0x45fd60
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x5212d8]
test eax, eax
setne al
test al, al
jne 0x45fd4f
mov eax, dword [0xa3da2c]
mov dword [esp], eax
call fcn.0047219f
nop
jmp 0x45ff27
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x45feba
jmp 0x45fd9a
nop
jmp 0x45fd9a
nop
jmp 0x45fd9a
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x45f673
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
lea edx, [eax - 1]
mov eax, dword [ebp - 0x78]
mov dword [eax + 4], edx
call fcn.004722e5
mov dword [ebp - 0x20], eax
mov edx, dword [0xa3da34]
mov eax, dword [0xa3da30]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00450aef
mov eax, dword [0xa3da34]
mov dword [esp], eax
call fcn.0047223c
mov edx, dword [0x6930cc]
mov eax, dword [0xa3da38]
mov word [edx + 0x38], ax
mov edx, dword [0x6930cc]
mov eax, dword [0xa3da3c]
mov word [edx + 0x3a], ax
mov edx, dword [0x6930cc]
mov eax, dword [0xa3da40]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x45fe43
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c]
add eax, edx
movzx eax, byte [eax]
mov byte [ecx], al
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045b016
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x1c]
setg al
test al, al
jne 0x45fe18
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.0047223c
mov edx, dword [0xa3da34]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00450aef
mov ecx, dword [0x6930cc]
mov edx, dword [0x6930a4]
mov eax, dword [0xa3da34]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x6930cc]
mov edx, dword [0x6930a4]
mov eax, dword [0xa3da34]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x45de38
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x45de37
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0044b3b9
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0044abf5
mov eax, dword [0x6930cc]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x45ff0c
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0045b016
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0044abf5
jmp 0x45de38
nop
jmp 0x45ff27
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret