Function at 0x456513
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 [0x56628c]
test eax, eax
jne 0x4588cb
mov eax, dword [0x51a2d8]
mov dword [0xa369e8], eax
mov dword [0x51a2d8], 1
call fcn.0046ac81
mov dword [0xa369ec], eax
call fcn.0046ac8d
mov dword [esp], eax
call fcn.0046ab47
call fcn.0046ac8d
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0046a58e
mov dword [0xa369f0], eax
mov eax, dword [0xa369f0]
cmp eax, 0xffffffff
jne 0x456598
mov dword [esp], 0x204
call fcn.00441d1c
call fcn.0046ac8d
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0046a58e
mov dword [0xa369f4], eax
mov eax, dword [0xa369f4]
cmp eax, 0xffffffff
jne 0x4565d0
mov dword [esp], 0x205
call fcn.00441d1c
mov eax, dword [0x68c08c]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xa369f8], eax
mov eax, dword [0x68c08c]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xa369fc], eax
mov eax, dword [0x68c08c]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xa36a00], eax
mov eax, dword [0x51a014]
mov dword [ebp - 0x74], eax
mov dword [0xa36a04], 0
mov eax, dword [0x6766e4]
and eax, 0x40000000
test eax, eax
je 0x456641
mov eax, dword [0x6766e4]
and eax, 0x200
test eax, eax
je 0x456641
mov dword [0x6766e4], 0xfffffe00
mov dword [0xa36a04], 1
mov eax, dword [0x68c08c]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa10ec4], eax
mov eax, dword [0x68c08c]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00443436
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00443436
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00443436
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.00443436
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x4566ee
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00443436
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa10ac0], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x4566ca
mov dword [ebp - 0x1c], 1
jmp 0x4567b7
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x40000000
test eax, eax
je 0x45676e
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6762c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x45675d
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6762c0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6762c0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x45676e
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6762c0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x1000000
test eax, eax
jne 0x4567b3
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6762c0]
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 0x456707
jmp 0x4567e0
nop
jmp 0x4567e0
nop
jmp 0x4567e0
nop
jmp 0x4567e0
nop
jmp 0x4567e0
nop
jmp 0x4567e0
nop
jmp 0x4567e0
nop
jmp 0x4567e0
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa10ac4]
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 0x45691e
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 0x45687a
cmp dword [ebp - 0x20], 1
je 0x45687a
mov eax, dword [0xa36a04]
test eax, eax
jne 0x45687a
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x45685d
mov dword [ebp - 0x3c], 1
jmp 0x45691e
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa10ac0]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x456915
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 0x4568b9
cmp dword [ebp - 0x38], 0
je 0x4568aa
mov eax, dword [0xa36a04]
test eax, eax
jne 0x4568aa
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x456915
cmp dword [ebp - 0x20], 1
jne 0x4568b9
mov dword [ebp - 0x20], 2
jmp 0x456915
cmp dword [ebp - 0x20], 2
je 0x45873b
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 + 0xa10ac0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00443d61
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa10ac0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044359d
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x45680f
cmp dword [ebp - 0x3c], 0
jne 0x45873e
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa10ac0]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa10ac0]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x40000000
test eax, eax
jne 0x456e4f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x20000000
test eax, eax
jne 0x456e4f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x456e4f
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x4569d1
mov dword [ebp - 0x88], 0x30
jmp 0x456dff
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
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 0x456a08
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 + 0xa10ac0]
mov dword [esp], eax
call fcn.004561a3
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x456bda
mov eax, dword [0xa10698]
mov edx, dword [0xa1069c]
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 0x456a69
cmp edx, dword [ebp - 0x4c]
ja 0x456a60
cmp eax, dword [ebp - 0x50]
jbe 0x456a69
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
cmp dword [ebp - 0x24], 1
jne 0x456b0c
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 0x456ac4
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 0x456aad
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 0x456a8f
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x456ae6
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
cmp dword [ebp - 0x8c], 1
jne 0x456af9
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x456b0c
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x456bc3
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 0x456b7b
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 0x456b64
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 0x456b32
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x456b9d
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
cmp dword [ebp - 0x8c], 1
jne 0x456bb0
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x456bc3
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 0x456dff
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x10000000
test eax, eax
je 0x456bfd
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x456c21
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 + 0x6766e0]
and eax, 0x10000000
test eax, eax
jne 0x456c6d
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x456c6d
cmp dword [ebp - 0x8c], 1
jne 0x456c65
mov dword [ebp - 0x88], 0x30
jmp 0x456dff
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 0x456c96
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x456c96
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
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 0x456dbb
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 0x456d86
cmp dword [ebp - 0x24], 9
jg 0x456d86
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 + 0x6766e0]
and eax, 0x10000000
test eax, eax
je 0x456d44
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x456d8f
cmp edx, dword [ebp - 0x4c]
ja 0x456d3b
cmp eax, dword [ebp - 0x50]
jbe 0x456d8f
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
cmp byte [ebp - 0x3e], 0
je 0x456d68
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x456d8f
cmp edx, dword [ebp - 0x54]
ja 0x456d5f
cmp eax, dword [ebp - 0x58]
jbe 0x456d8f
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x456d8f
cmp edx, dword [ebp - 0x4c]
ja 0x456d7d
cmp eax, dword [ebp - 0x50]
jbe 0x456d8f
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
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 0x456cc3
cmp byte [ebp - 0x3e], 0
je 0x456ded
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 0x456dff
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 + 0x6766e0]
and eax, 0x1000000
test eax, eax
jne 0x457ffd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6762c0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x457ffd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x40000000
test eax, eax
je 0x456eb7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6762c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x456e92
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6762c0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x456e92
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa10ac0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6762c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044359d
jmp 0x457ffd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x40000000
test eax, eax
jne 0x45725d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x20000000
test eax, eax
jne 0x45725d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x45725d
cmp dword [ebp - 0x8c], 0
jne 0x456f2c
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6762c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x457ffd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa10ac0]
mov dword [esp], eax
call fcn.004561a3
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x456fde
mov eax, dword [0xa10698]
mov edx, dword [0xa1069c]
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 0x456f7f
cmp edx, dword [ebp - 0x4c]
ja 0x456f76
cmp eax, dword [ebp - 0x50]
jbe 0x456f7f
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
cmp dword [ebp - 0x24], 1
jne 0x456f98
cmp dword [ebp - 0x8c], 1
jne 0x456f98
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x456fb1
cmp dword [ebp - 0x8c], 1
jne 0x456fb1
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x456fc4
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6762c0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x457ffd
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x10000000
test eax, eax
jne 0x457041
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x457041
cmp dword [ebp - 0x8c], 1
jne 0x457039
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6762c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x457ffd
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 0x45706a
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x45706a
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x4570b3
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 0x4570a2
cmp dword [ebp - 0x24], 9
jle 0x4570ab
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
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 0x45707f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x10000000
test eax, eax
je 0x4570f6
cmp dword [ebp - 0x28], 0x13
jle 0x4571a6
cmp dword [ebp - 0x28], 0x14
jle 0x4570ec
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x457127
cmp dword [ebp - 0x28], 0x12
jle 0x4571a9
cmp dword [ebp - 0x28], 0x13
jle 0x45710f
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
cmp byte [ebp - 0x3e], 0
je 0x45711f
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x457127
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa10ac0]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x457197
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 0x4571ac
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 0x457193
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x457142
jmp 0x4571ad
nop
jmp 0x4571ad
nop
jmp 0x4571ad
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa10ac0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00443d61
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa10ac0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044359d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x10000000
test eax, eax
je 0x45722e
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6762c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa10ac0]
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 0x457ffd
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6762c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa10ac0]
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 0x457ffd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x20000000
test eax, eax
je 0x457ffd
mov dword [0xa36a08], 0
mov dword [0xa36a0c], 0
mov dword [0xa36a10], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xa36a14], 0
mov dword [0xa10aa0], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4572d9
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6762c0]
mov eax, dword [0x5499d8]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4572fb
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6762c0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x457332
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x6762c0]
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 0x45734a
mov dword [ebp - 0x88], 0x30
jmp 0x457ffd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa10ac0]
mov dword [esp], eax
call fcn.004561a3
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x45764f
mov eax, dword [0xa10698]
mov edx, dword [0xa1069c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x457398
cmp dword [ebp - 0x8c], 1
jne 0x457398
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x4573b1
cmp dword [ebp - 0x8c], 1
jne 0x4573b1
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x4573c4
mov dword [ebp - 0x88], 0x30
mov dword [0xa36a18], 0x7fffffff
mov dword [0xa36a1c], 0
mov eax, dword [0xa36a18]
mov edx, dword [0xa36a1c]
mov edx, eax
mov eax, 0
mov dword [0xa36a18], eax
mov dword [0xa36a1c], edx
mov eax, dword [0xa36a18]
mov edx, dword [0xa36a1c]
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 [0xa36a18], eax
mov dword [0xa36a1c], edx
jmp 0x457526
mov eax, dword [0xa36a18]
mov edx, dword [0xa36a1c]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x45748e
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6762c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6762c0]
fld dword [eax]
mov eax, dword [0xa36a18]
mov edx, dword [0xa36a1c]
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 + 0x6766e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4574d9
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6762c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6762c0]
fld qword [eax]
mov eax, dword [0xa36a18]
mov edx, dword [0xa36a1c]
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 + 0x6766e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x457526
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6762c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6762c0]
fld xword [eax]
mov eax, dword [0xa36a18]
mov edx, dword [0xa36a1c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xa36a18]
mov edx, dword [0xa36a1c]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x45754a
cmp edx, dword [ebp - 0x6c]
ja 0x457545
cmp eax, dword [ebp - 0x70]
jb 0x45754a
mov ecx, 0
test cl, cl
jne 0x457432
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xa36a18], eax
mov dword [0xa36a1c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4575ae
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6762c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6762c0]
fld dword [eax]
mov eax, dword [0xa36a18]
mov edx, dword [0xa36a1c]
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 + 0x6766e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4575f9
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6762c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6762c0]
fld qword [eax]
mov eax, dword [0xa36a18]
mov edx, dword [0xa36a1c]
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 + 0x6766e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x457ff9
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6762c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6762c0]
fld xword [eax]
mov eax, dword [0xa36a18]
mov edx, dword [0xa36a1c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x457ff9
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 0x457688
cmp dword [ebp - 0x8c], 1
jne 0x457680
mov dword [ebp - 0x88], 0x30
jmp 0x457ffd
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 0x4576cf
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x457ffc
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 0x457792
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x457779
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 0x457706
cmp dword [ebp - 0x24], 0x64
je 0x457706
cmp dword [ebp - 0x24], 0x45
je 0x457706
cmp dword [ebp - 0x24], 0x65
jne 0x457722
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x457717
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x4578a8
cmp dword [ebp - 0x24], 0x2e
jne 0x457730
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x457793
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x457740
cmp dword [ebp - 0x24], 9
jle 0x457749
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov eax, dword [0xa36a08]
add eax, 1
mov dword [0xa36a08], eax
mov edx, dword [0xa10aa0]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa106a0], al
mov eax, dword [0xa10aa0]
add eax, 1
mov dword [0xa10aa0], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x4576da
jmp 0x457a82
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x4577b7
mov dword [ebp - 0x88], 0x30
jmp 0x457a82
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x45788f
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 0x4577f2
cmp dword [ebp - 0x24], 0x64
je 0x4577f2
cmp dword [ebp - 0x24], 0x45
je 0x4577f2
cmp dword [ebp - 0x24], 0x65
jne 0x457817
mov eax, dword [0xa10aa0]
test eax, eax
je 0x457817
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x45780c
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x4578a8
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x457827
cmp dword [ebp - 0x24], 9
jle 0x457830
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
cmp dword [ebp - 0x24], 0
je 0x45783d
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x457850
mov eax, dword [0xa36a14]
add eax, 1
mov dword [0xa36a14], eax
mov eax, dword [0xa36a0c]
add eax, 1
mov dword [0xa36a0c], eax
mov eax, dword [0xa10aa0]
test eax, eax
jne 0x45786c
cmp dword [ebp - 0x24], 0
je 0x45788b
mov edx, dword [0xa10aa0]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa106a0], al
mov eax, dword [0xa10aa0]
add eax, 1
mov dword [0xa10aa0], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x4577c6
jmp 0x457a82
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4578e5
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 0x4578dc
cmp dword [ebp - 0x24], 0x64
jne 0x4578e5
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
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 0x457905
cmp dword [ebp - 0x24], 0x64
jne 0x457913
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 0x457930
mov dword [ebp - 0x88], 0x30
jmp 0x457a82
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 0x457979
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x45796b
mov dword [ebp - 0x88], 0x30
jmp 0x457a82
mov dword [0xa36a10], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x4579a0
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x45799c
mov dword [ebp - 0x88], 0x30
jmp 0x457a82
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 0x4579c9
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4579c9
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
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 0x457a71
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 0x457a68
cmp dword [ebp - 0x24], 9
jg 0x457a68
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 0x457a71
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x4579f3
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x457cf0
mov eax, dword [0xa36a10]
test eax, eax
je 0x457aad
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa36a14]
cmp eax, 1
jne 0x457ad5
mov eax, dword [0xa36a0c]
cmp eax, 1
jne 0x457ad5
mov dword [0xa36a0c], 0
mov dword [0xa36a14], 0
mov eax, dword [0xa36a14]
cmp eax, 0x2b
jle 0x457ae8
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov eax, dword [0xa36a08]
test eax, eax
jne 0x457b04
mov edx, dword [0xa36a0c]
mov eax, dword [0xa36a14]
cmp edx, eax
je 0x457c7e
mov eax, dword [0xa36a08]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x457b1c
mov eax, dword [0xa36a14]
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 0x457b36
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
cmp dword [ebp - 0x1c], 0x27
jne 0x457bad
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa10aa0]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x457b59
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x457b9d
mov eax, dword [ebp - 0x24]
add eax, 0xa106a0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x457b80
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov eax, dword [ebp - 0x24]
add eax, 0xa106a0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x457bac
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 0x457b62
jmp 0x457bad
nop
mov eax, dword [0xa36a0c]
test eax, eax
je 0x457bf9
mov eax, dword [0xa36a08]
test eax, eax
je 0x457bda
mov edx, dword [0xa36a0c]
mov eax, dword [0xa36a08]
add eax, edx
cmp eax, 8
jle 0x457bf9
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov edx, dword [0xa36a0c]
mov eax, dword [0xa36a14]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x457bf9
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x457c08
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x457c82
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa10aa0]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x457c2b
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x457c6f
mov eax, dword [ebp - 0x24]
add eax, 0xa106a0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x457c52
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov eax, dword [ebp - 0x24]
add eax, 0xa106a0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x457c81
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 0x457c34
jmp 0x457c82
nop
jmp 0x457c82
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa10ac0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00443d61
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa10ac0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044359d
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6762c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa10ac0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x535ff3
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x457ffd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x457f6c
mov eax, dword [0xa36a10]
test eax, eax
je 0x457d1b
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa36a14]
cmp eax, 1
jne 0x457d43
mov eax, dword [0xa36a0c]
cmp eax, 1
jne 0x457d43
mov dword [0xa36a0c], 0
mov dword [0xa36a14], 0
mov eax, dword [0xa36a14]
cmp eax, 0x142
jle 0x457d58
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov eax, dword [0xa36a08]
test eax, eax
jne 0x457d74
mov edx, dword [0xa36a0c]
mov eax, dword [0xa36a14]
cmp edx, eax
je 0x457efa
mov eax, dword [0xa36a08]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x457d8c
mov eax, dword [0xa36a14]
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 0x457da9
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
cmp dword [ebp - 0x1c], 0x135
jne 0x457e23
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa10aa0]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x457dcf
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x457e13
mov eax, dword [ebp - 0x24]
add eax, 0xa106a0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x457df6
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov eax, dword [ebp - 0x24]
add eax, 0xa106a0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x457e22
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 0x457dd8
jmp 0x457e23
nop
mov eax, dword [0xa36a0c]
test eax, eax
je 0x457e6f
mov eax, dword [0xa36a08]
test eax, eax
je 0x457e50
mov edx, dword [0xa36a0c]
mov eax, dword [0xa36a08]
add eax, edx
cmp eax, 0x10
jle 0x457e6f
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov edx, dword [0xa36a0c]
mov eax, dword [0xa36a14]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x457e6f
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x457e81
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x457efe
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa10aa0]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x457ea7
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x457eeb
mov eax, dword [ebp - 0x24]
add eax, 0xa106a0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x457ece
mov byte [ebp - 0x3d], 0
jmp 0x457ffd
mov eax, dword [ebp - 0x24]
add eax, 0xa106a0
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x457efd
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 0x457eb0
jmp 0x457efe
nop
jmp 0x457efe
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa10ac0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00443d61
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa10ac0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044359d
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6762c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa10ac0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x535ff6
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x457ffd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6766e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x457ffd
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa10ac0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00443d61
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa10ac0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044359d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa10ac0]
mov eax, dword [eax]
mov dword [esp + 8], 0xa36a20
mov dword [esp + 4], 0x535ff6
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6762c0]
fld qword [0xa36a20]
fstp xword [eax]
jmp 0x457ffd
nop
jmp 0x457ffd
nop
cmp byte [ebp - 0x3d], 0
je 0x458741
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0044359d
jmp 0x45801c
nop
mov dword [0xa36a28], 0
jmp 0x458029
nop
mov eax, dword [0x68c08c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x45825e
mov dword [ebp - 0x1c], 1
mov eax, dword [0x68c08c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x45806c
mov eax, dword [0x68c08c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x45806c
mov eax, dword [0x68c08c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4580a6
call fcn.0043766b
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 0x4580a6
mov dword [ebp - 0x1c], 0
mov eax, dword [0xa36a28]
cmp dword [ebp - 0x1c], eax
je 0x45825e
mov eax, dword [0xa36a28]
xor eax, 1
mov dword [0xa36a28], eax
mov eax, dword [0x68c08c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa36a2c], eax
mov eax, dword [0x68c08c]
mov byte [eax + 0x50], 1
mov edx, dword [0x67b6b0]
mov eax, dword [0x68c08c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa36a30], eax
mov edx, dword [0x67b6b4]
mov eax, dword [0x68c08c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa36a34], eax
mov eax, dword [0xa36a34]
test eax, eax
jne 0x458122
mov dword [0xa36a34], 1
mov eax, dword [0xa36a34]
mov dword [0xa36a38], eax
mov eax, dword [0x68c08c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x458157
mov eax, dword [0x68c08c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x458157
mov eax, dword [0x68c08c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x458161
mov dword [0xa36a38], 1
mov eax, dword [0x68c08c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa36a30]
imul eax, edx
mov dword [0xa36a3c], eax
mov dword [0xa36a40], 0
jmp 0x458238
mov eax, dword [0x68c08c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa36a34]
imul eax, edx
mov dword [0xa36a44], eax
mov dword [0xa36a48], 0
jmp 0x45820a
mov edx, dword [0xa36a3c]
mov eax, dword [0xa36a44]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00451928
mov edx, eax
mov eax, dword [0x68c08c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa36a3c]
mov eax, dword [0xa36a44]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004387b6
mov eax, dword [0xa36a44]
add eax, 1
mov dword [0xa36a44], eax
mov eax, dword [0xa36a48]
add eax, 1
mov dword [0xa36a48], eax
mov edx, dword [0xa36a48]
mov eax, dword [0xa36a38]
cmp edx, eax
setl al
test al, al
jne 0x4581b0
mov eax, dword [0xa36a3c]
add eax, 1
mov dword [0xa36a3c], eax
mov eax, dword [0xa36a40]
add eax, 1
mov dword [0xa36a40], eax
mov edx, dword [0xa36a40]
mov eax, dword [0xa36a30]
cmp edx, eax
setl al
test al, al
jne 0x45818a
mov edx, dword [0x68c08c]
mov eax, dword [0xa36a2c]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x45828d
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.0044359d
jmp 0x458363
mov eax, dword [0x68c08c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x458312
mov dword [esp], 0x52ec06
call fcn.00443222
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0044359d
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 0x4582ff
cmp dword [ebp - 0x2c], 0xa
jne 0x4582d8
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x535ffa
call fcn.00443222
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0044359d
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x458350
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x458350
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call fcn.00445676
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0044359d
mov dword [0x67b398], 1
call fcn.00407898
mov dword [0x67b398], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.00496155
movzx eax, byte [0x566299]
test al, al
jne 0x4588ce
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x458028
mov eax, dword [0x68c08c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x458546
mov eax, dword [0xa36a28]
test eax, eax
je 0x458546
mov dword [0xa36a28], 0
mov eax, dword [0x68c08c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa36a4c], eax
mov eax, dword [0x68c08c]
mov byte [eax + 0x50], 1
mov edx, dword [0x67b6b0]
mov eax, dword [0x68c08c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa36a50], eax
mov edx, dword [0x67b6b4]
mov eax, dword [0x68c08c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa36a54], eax
mov eax, dword [0xa36a54]
test eax, eax
jne 0x45840a
mov dword [0xa36a54], 1
mov eax, dword [0xa36a54]
mov dword [0xa36a58], eax
mov eax, dword [0x68c08c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x45843f
mov eax, dword [0x68c08c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x45843f
mov eax, dword [0x68c08c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x458449
mov dword [0xa36a58], 1
mov eax, dword [0x68c08c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa36a50]
imul eax, edx
mov dword [0xa36a5c], eax
mov dword [0xa36a60], 0
jmp 0x458520
mov eax, dword [0x68c08c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa36a54]
imul eax, edx
mov dword [0xa36a64], eax
mov dword [0xa36a68], 0
jmp 0x4584f2
mov edx, dword [0xa36a5c]
mov eax, dword [0xa36a64]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00451928
mov edx, eax
mov eax, dword [0x68c08c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa36a5c]
mov eax, dword [0xa36a64]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004387b6
mov eax, dword [0xa36a64]
add eax, 1
mov dword [0xa36a64], eax
mov eax, dword [0xa36a68]
add eax, 1
mov dword [0xa36a68], eax
mov edx, dword [0xa36a68]
mov eax, dword [0xa36a58]
cmp edx, eax
setl al
test al, al
jne 0x458498
mov eax, dword [0xa36a5c]
add eax, 1
mov dword [0xa36a5c], eax
mov eax, dword [0xa36a60]
add eax, 1
mov dword [0xa36a60], eax
mov edx, dword [0xa36a60]
mov eax, dword [0xa36a50]
cmp edx, eax
setl al
test al, al
jne 0x458472
mov edx, dword [0x68c08c]
mov eax, dword [0xa36a4c]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x45856a
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004539be
jmp 0x4567e0
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x4567ca
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x4585a6
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 0x4567e0
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x4567cd
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x4567d0
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x4567d3
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x4567d6
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x4567d9
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x4567dc
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x458729
mov dword [ebp - 0x1c], 1
jmp 0x458635
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa10ac0]
mov dword [esp], eax
call fcn.004429a9
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x45861f
cmp byte [ebp - 0x9c], 0
je 0x45867b
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x68c08c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x45867b
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.004539be
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.004429a9
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.004429a9
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004429a9
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004429a9
mov eax, dword [0x68c08c]
mov edx, dword [0xa10ec4]
mov byte [eax + 0x3c], dl
mov eax, dword [0xa369f0]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0046a86b
mov eax, dword [0xa369f4]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0046a86b
mov eax, dword [0xa369e8]
test eax, eax
jne 0x458716
mov dword [0x51a2d8], 0xffffffff
jmp 0x458708
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x51a2d8]
test eax, eax
setne al
test al, al
jne 0x4586f7
mov eax, dword [0xa369ec]
mov dword [esp], eax
call fcn.0046ab47
nop
jmp 0x4588cf
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x458862
jmp 0x458742
nop
jmp 0x458742
nop
jmp 0x458742
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x45801b
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.0046ac8d
mov dword [ebp - 0x20], eax
mov edx, dword [0xa369f4]
mov eax, dword [0xa369f0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00449497
mov eax, dword [0xa369f4]
mov dword [esp], eax
call fcn.0046abe4
mov edx, dword [0x68c08c]
mov eax, dword [0xa369f8]
mov word [edx + 0x38], ax
mov edx, dword [0x68c08c]
mov eax, dword [0xa369fc]
mov word [edx + 0x3a], ax
mov edx, dword [0x68c08c]
mov eax, dword [0xa36a00]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x4587eb
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.004539be
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 0x4587c0
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.0046abe4
mov edx, dword [0xa369f4]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00449497
mov ecx, dword [0x68c08c]
mov edx, dword [0x68c064]
mov eax, dword [0xa369f4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x68c08c]
mov edx, dword [0x68c064]
mov eax, dword [0xa369f4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x4567e0
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x4567df
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00443d61
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0044359d
mov eax, dword [0x68c08c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x4588b4
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004539be
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0044359d
jmp 0x4567e0
nop
jmp 0x4588cf
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret