Function at 0x4be827
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 [0x5ce28c]
test eax, eax
jne 0x4c0bdf
mov eax, dword [0x5822d8]
mov dword [0xa9f9c8], eax
mov dword [0x5822d8], 1
call fcn.004d2f95
mov dword [0xa9f9cc], eax
call fcn.004d2fa1
mov dword [esp], eax
call fcn.004d2e5b
call fcn.004d2fa1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004d28a2
mov dword [0xa9f9d0], eax
mov eax, dword [0xa9f9d0]
cmp eax, 0xffffffff
jne 0x4be8ac
mov dword [esp], 0x204
call fcn.004aa030
call fcn.004d2fa1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004d28a2
mov dword [0xa9f9d4], eax
mov eax, dword [0xa9f9d4]
cmp eax, 0xffffffff
jne 0x4be8e4
mov dword [esp], 0x205
call fcn.004aa030
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xa9f9d8], eax
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xa9f9dc], eax
mov eax, dword [0x6f506c]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xa9f9e0], eax
mov eax, dword [0x582014]
mov dword [ebp - 0x74], eax
mov dword [0xa9f9e4], 0
mov eax, dword [0x6de6e4]
and eax, 0x40000000
test eax, eax
je 0x4be955
mov eax, dword [0x6de6e4]
and eax, 0x200
test eax, eax
je 0x4be955
mov dword [0x6de6e4], 0xfffffe00
mov dword [0xa9f9e4], 1
mov eax, dword [0x6f506c]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa79ea4], eax
mov eax, dword [0x6f506c]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004ab74a
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004ab74a
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004ab74a
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.004ab74a
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x4bea02
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004ab74a
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa79aa0], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x4be9de
mov dword [ebp - 0x1c], 1
jmp 0x4beacb
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x40000000
test eax, eax
je 0x4bea82
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6de2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x4bea71
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6de2c0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6de2c0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x4bea82
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6de2c0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1000000
test eax, eax
jne 0x4beac7
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6de2c0]
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 0x4bea1b
jmp 0x4beaf4
nop
jmp 0x4beaf4
nop
jmp 0x4beaf4
nop
jmp 0x4beaf4
nop
jmp 0x4beaf4
nop
jmp 0x4beaf4
nop
jmp 0x4beaf4
nop
jmp 0x4beaf4
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa79aa4]
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 0x4bec32
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 0x4beb8e
cmp dword [ebp - 0x20], 1
je 0x4beb8e
mov eax, dword [0xa9f9e4]
test eax, eax
jne 0x4beb8e
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x4beb71
mov dword [ebp - 0x3c], 1
jmp 0x4bec32
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x4bec29
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 0x4bebcd
cmp dword [ebp - 0x38], 0
je 0x4bebbe
mov eax, dword [0xa9f9e4]
test eax, eax
jne 0x4bebbe
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x4bec29
cmp dword [ebp - 0x20], 1
jne 0x4bebcd
mov dword [ebp - 0x20], 2
jmp 0x4bec29
cmp dword [ebp - 0x20], 2
je 0x4c0a4f
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 + 0xa79aa0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004ac075
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ab8b1
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x4beb23
cmp dword [ebp - 0x3c], 0
jne 0x4c0a52
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x40000000
test eax, eax
jne 0x4bf163
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x20000000
test eax, eax
jne 0x4bf163
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x4bf163
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x4bece5
mov dword [ebp - 0x88], 0x30
jmp 0x4bf113
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
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 0x4bed1c
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 + 0xa79aa0]
mov dword [esp], eax
call fcn.004be4b7
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x4beeee
mov eax, dword [0xa79678]
mov edx, dword [0xa7967c]
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 0x4bed7d
cmp edx, dword [ebp - 0x4c]
ja 0x4bed74
cmp eax, dword [ebp - 0x50]
jbe 0x4bed7d
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
cmp dword [ebp - 0x24], 1
jne 0x4bee20
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 0x4bedd8
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 0x4bedc1
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 0x4beda3
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x4bedfa
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
cmp dword [ebp - 0x8c], 1
jne 0x4bee0d
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x4bee20
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x4beed7
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 0x4bee8f
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 0x4bee78
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 0x4bee46
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x4beeb1
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
cmp dword [ebp - 0x8c], 1
jne 0x4beec4
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x4beed7
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 0x4bf113
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x10000000
test eax, eax
je 0x4bef11
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x4bef35
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 + 0x6de6e0]
and eax, 0x10000000
test eax, eax
jne 0x4bef81
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4bef81
cmp dword [ebp - 0x8c], 1
jne 0x4bef79
mov dword [ebp - 0x88], 0x30
jmp 0x4bf113
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 0x4befaa
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4befaa
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
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 0x4bf0cf
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 0x4bf09a
cmp dword [ebp - 0x24], 9
jg 0x4bf09a
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 + 0x6de6e0]
and eax, 0x10000000
test eax, eax
je 0x4bf058
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x4bf0a3
cmp edx, dword [ebp - 0x4c]
ja 0x4bf04f
cmp eax, dword [ebp - 0x50]
jbe 0x4bf0a3
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
cmp byte [ebp - 0x3e], 0
je 0x4bf07c
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x4bf0a3
cmp edx, dword [ebp - 0x54]
ja 0x4bf073
cmp eax, dword [ebp - 0x58]
jbe 0x4bf0a3
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x4bf0a3
cmp edx, dword [ebp - 0x4c]
ja 0x4bf091
cmp eax, dword [ebp - 0x50]
jbe 0x4bf0a3
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
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 0x4befd7
cmp byte [ebp - 0x3e], 0
je 0x4bf101
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 0x4bf113
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 + 0x6de6e0]
and eax, 0x1000000
test eax, eax
jne 0x4c0311
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6de2c0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x4c0311
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x40000000
test eax, eax
je 0x4bf1cb
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x4bf1a6
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de2c0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x4bf1a6
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa79aa0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de2c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ab8b1
jmp 0x4c0311
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x40000000
test eax, eax
jne 0x4bf571
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x20000000
test eax, eax
jne 0x4bf571
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4bf571
cmp dword [ebp - 0x8c], 0
jne 0x4bf240
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de2c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x4c0311
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov dword [esp], eax
call fcn.004be4b7
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x4bf2f2
mov eax, dword [0xa79678]
mov edx, dword [0xa7967c]
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 0x4bf293
cmp edx, dword [ebp - 0x4c]
ja 0x4bf28a
cmp eax, dword [ebp - 0x50]
jbe 0x4bf293
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
cmp dword [ebp - 0x24], 1
jne 0x4bf2ac
cmp dword [ebp - 0x8c], 1
jne 0x4bf2ac
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x4bf2c5
cmp dword [ebp - 0x8c], 1
jne 0x4bf2c5
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x4bf2d8
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6de2c0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4c0311
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x10000000
test eax, eax
jne 0x4bf355
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4bf355
cmp dword [ebp - 0x8c], 1
jne 0x4bf34d
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de2c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x4c0311
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 0x4bf37e
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4bf37e
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x4bf3c7
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 0x4bf3b6
cmp dword [ebp - 0x24], 9
jle 0x4bf3bf
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
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 0x4bf393
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x10000000
test eax, eax
je 0x4bf40a
cmp dword [ebp - 0x28], 0x13
jle 0x4bf4ba
cmp dword [ebp - 0x28], 0x14
jle 0x4bf400
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x4bf43b
cmp dword [ebp - 0x28], 0x12
jle 0x4bf4bd
cmp dword [ebp - 0x28], 0x13
jle 0x4bf423
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
cmp byte [ebp - 0x3e], 0
je 0x4bf433
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x4bf43b
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x4bf4ab
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 0x4bf4c0
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 0x4bf4a7
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x4bf456
jmp 0x4bf4c1
nop
jmp 0x4bf4c1
nop
jmp 0x4bf4c1
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa79aa0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004ac075
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ab8b1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x10000000
test eax, eax
je 0x4bf542
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6de2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
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 0x4c0311
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6de2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
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 0x4c0311
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x20000000
test eax, eax
je 0x4c0311
mov dword [0xa9f9e8], 0
mov dword [0xa9f9ec], 0
mov dword [0xa9f9f0], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xa9f9f4], 0
mov dword [0xa79a80], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4bf5ed
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6de2c0]
mov eax, dword [0x5b2278]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4bf60f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de2c0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4bf646
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x6de2c0]
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 0x4bf65e
mov dword [ebp - 0x88], 0x30
jmp 0x4c0311
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov dword [esp], eax
call fcn.004be4b7
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x4bf963
mov eax, dword [0xa79678]
mov edx, dword [0xa7967c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x4bf6ac
cmp dword [ebp - 0x8c], 1
jne 0x4bf6ac
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x4bf6c5
cmp dword [ebp - 0x8c], 1
jne 0x4bf6c5
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x4bf6d8
mov dword [ebp - 0x88], 0x30
mov dword [0xa9f9f8], 0x7fffffff
mov dword [0xa9f9fc], 0
mov eax, dword [0xa9f9f8]
mov edx, dword [0xa9f9fc]
mov edx, eax
mov eax, 0
mov dword [0xa9f9f8], eax
mov dword [0xa9f9fc], edx
mov eax, dword [0xa9f9f8]
mov edx, dword [0xa9f9fc]
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 [0xa9f9f8], eax
mov dword [0xa9f9fc], edx
jmp 0x4bf83a
mov eax, dword [0xa9f9f8]
mov edx, dword [0xa9f9fc]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4bf7a2
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6de2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de2c0]
fld dword [eax]
mov eax, dword [0xa9f9f8]
mov edx, dword [0xa9f9fc]
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 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4bf7ed
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6de2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de2c0]
fld qword [eax]
mov eax, dword [0xa9f9f8]
mov edx, dword [0xa9f9fc]
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 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4bf83a
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6de2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de2c0]
fld xword [eax]
mov eax, dword [0xa9f9f8]
mov edx, dword [0xa9f9fc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xa9f9f8]
mov edx, dword [0xa9f9fc]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x4bf85e
cmp edx, dword [ebp - 0x6c]
ja 0x4bf859
cmp eax, dword [ebp - 0x70]
jb 0x4bf85e
mov ecx, 0
test cl, cl
jne 0x4bf746
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xa9f9f8], eax
mov dword [0xa9f9fc], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4bf8c2
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6de2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de2c0]
fld dword [eax]
mov eax, dword [0xa9f9f8]
mov edx, dword [0xa9f9fc]
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 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4bf90d
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6de2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de2c0]
fld qword [eax]
mov eax, dword [0xa9f9f8]
mov edx, dword [0xa9f9fc]
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 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4c030d
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6de2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de2c0]
fld xword [eax]
mov eax, dword [0xa9f9f8]
mov edx, dword [0xa9f9fc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x4c030d
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 0x4bf99c
cmp dword [ebp - 0x8c], 1
jne 0x4bf994
mov dword [ebp - 0x88], 0x30
jmp 0x4c0311
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 0x4bf9e3
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4c0310
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 0x4bfaa6
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x4bfa8d
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 0x4bfa1a
cmp dword [ebp - 0x24], 0x64
je 0x4bfa1a
cmp dword [ebp - 0x24], 0x45
je 0x4bfa1a
cmp dword [ebp - 0x24], 0x65
jne 0x4bfa36
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x4bfa2b
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x4bfbbc
cmp dword [ebp - 0x24], 0x2e
jne 0x4bfa44
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x4bfaa7
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x4bfa54
cmp dword [ebp - 0x24], 9
jle 0x4bfa5d
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov eax, dword [0xa9f9e8]
add eax, 1
mov dword [0xa9f9e8], eax
mov edx, dword [0xa79a80]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa79680], al
mov eax, dword [0xa79a80]
add eax, 1
mov dword [0xa79a80], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x4bf9ee
jmp 0x4bfd96
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x4bfacb
mov dword [ebp - 0x88], 0x30
jmp 0x4bfd96
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x4bfba3
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 0x4bfb06
cmp dword [ebp - 0x24], 0x64
je 0x4bfb06
cmp dword [ebp - 0x24], 0x45
je 0x4bfb06
cmp dword [ebp - 0x24], 0x65
jne 0x4bfb2b
mov eax, dword [0xa79a80]
test eax, eax
je 0x4bfb2b
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x4bfb20
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x4bfbbc
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x4bfb3b
cmp dword [ebp - 0x24], 9
jle 0x4bfb44
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
cmp dword [ebp - 0x24], 0
je 0x4bfb51
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x4bfb64
mov eax, dword [0xa9f9f4]
add eax, 1
mov dword [0xa9f9f4], eax
mov eax, dword [0xa9f9ec]
add eax, 1
mov dword [0xa9f9ec], eax
mov eax, dword [0xa79a80]
test eax, eax
jne 0x4bfb80
cmp dword [ebp - 0x24], 0
je 0x4bfb9f
mov edx, dword [0xa79a80]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa79680], al
mov eax, dword [0xa79a80]
add eax, 1
mov dword [0xa79a80], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x4bfada
jmp 0x4bfd96
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4bfbf9
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 0x4bfbf0
cmp dword [ebp - 0x24], 0x64
jne 0x4bfbf9
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
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 0x4bfc19
cmp dword [ebp - 0x24], 0x64
jne 0x4bfc27
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 0x4bfc44
mov dword [ebp - 0x88], 0x30
jmp 0x4bfd96
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 0x4bfc8d
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x4bfc7f
mov dword [ebp - 0x88], 0x30
jmp 0x4bfd96
mov dword [0xa9f9f0], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x4bfcb4
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x4bfcb0
mov dword [ebp - 0x88], 0x30
jmp 0x4bfd96
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 0x4bfcdd
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4bfcdd
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
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 0x4bfd85
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 0x4bfd7c
cmp dword [ebp - 0x24], 9
jg 0x4bfd7c
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 0x4bfd85
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x4bfd07
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4c0004
mov eax, dword [0xa9f9f0]
test eax, eax
je 0x4bfdc1
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa9f9f4]
cmp eax, 1
jne 0x4bfde9
mov eax, dword [0xa9f9ec]
cmp eax, 1
jne 0x4bfde9
mov dword [0xa9f9ec], 0
mov dword [0xa9f9f4], 0
mov eax, dword [0xa9f9f4]
cmp eax, 0x2b
jle 0x4bfdfc
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov eax, dword [0xa9f9e8]
test eax, eax
jne 0x4bfe18
mov edx, dword [0xa9f9ec]
mov eax, dword [0xa9f9f4]
cmp edx, eax
je 0x4bff92
mov eax, dword [0xa9f9e8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4bfe30
mov eax, dword [0xa9f9f4]
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 0x4bfe4a
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
cmp dword [ebp - 0x1c], 0x27
jne 0x4bfec1
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa79a80]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4bfe6d
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4bfeb1
mov eax, dword [ebp - 0x24]
add eax, 0xa79680
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x4bfe94
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov eax, dword [ebp - 0x24]
add eax, 0xa79680
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x4bfec0
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 0x4bfe76
jmp 0x4bfec1
nop
mov eax, dword [0xa9f9ec]
test eax, eax
je 0x4bff0d
mov eax, dword [0xa9f9e8]
test eax, eax
je 0x4bfeee
mov edx, dword [0xa9f9ec]
mov eax, dword [0xa9f9e8]
add eax, edx
cmp eax, 8
jle 0x4bff0d
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov edx, dword [0xa9f9ec]
mov eax, dword [0xa9f9f4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x4bff0d
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x4bff1c
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x4bff96
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa79a80]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4bff3f
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4bff83
mov eax, dword [ebp - 0x24]
add eax, 0xa79680
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x4bff66
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov eax, dword [ebp - 0x24]
add eax, 0xa79680
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x4bff95
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 0x4bff48
jmp 0x4bff96
nop
jmp 0x4bff96
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa79aa0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004ac075
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ab8b1
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6de2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x59e893
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x4c0311
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4c0280
mov eax, dword [0xa9f9f0]
test eax, eax
je 0x4c002f
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa9f9f4]
cmp eax, 1
jne 0x4c0057
mov eax, dword [0xa9f9ec]
cmp eax, 1
jne 0x4c0057
mov dword [0xa9f9ec], 0
mov dword [0xa9f9f4], 0
mov eax, dword [0xa9f9f4]
cmp eax, 0x142
jle 0x4c006c
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov eax, dword [0xa9f9e8]
test eax, eax
jne 0x4c0088
mov edx, dword [0xa9f9ec]
mov eax, dword [0xa9f9f4]
cmp edx, eax
je 0x4c020e
mov eax, dword [0xa9f9e8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4c00a0
mov eax, dword [0xa9f9f4]
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 0x4c00bd
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
cmp dword [ebp - 0x1c], 0x135
jne 0x4c0137
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa79a80]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x4c00e3
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x4c0127
mov eax, dword [ebp - 0x24]
add eax, 0xa79680
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x4c010a
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov eax, dword [ebp - 0x24]
add eax, 0xa79680
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x4c0136
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 0x4c00ec
jmp 0x4c0137
nop
mov eax, dword [0xa9f9ec]
test eax, eax
je 0x4c0183
mov eax, dword [0xa9f9e8]
test eax, eax
je 0x4c0164
mov edx, dword [0xa9f9ec]
mov eax, dword [0xa9f9e8]
add eax, edx
cmp eax, 0x10
jle 0x4c0183
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov edx, dword [0xa9f9ec]
mov eax, dword [0xa9f9f4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x4c0183
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x4c0195
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x4c0212
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa79a80]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4c01bb
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4c01ff
mov eax, dword [ebp - 0x24]
add eax, 0xa79680
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x4c01e2
mov byte [ebp - 0x3d], 0
jmp 0x4c0311
mov eax, dword [ebp - 0x24]
add eax, 0xa79680
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x4c0211
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 0x4c01c4
jmp 0x4c0212
nop
jmp 0x4c0212
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa79aa0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004ac075
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ab8b1
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6de2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x59e896
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x4c0311
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4c0311
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa79aa0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004ac075
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ab8b1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov eax, dword [eax]
mov dword [esp + 8], 0xa9fa00
mov dword [esp + 4], 0x59e896
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de2c0]
fld qword [0xa9fa00]
fstp xword [eax]
jmp 0x4c0311
nop
jmp 0x4c0311
nop
cmp byte [ebp - 0x3d], 0
je 0x4c0a55
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004ab8b1
jmp 0x4c0330
nop
mov dword [0xa9fa08], 0
jmp 0x4c033d
nop
mov eax, dword [0x6f506c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x4c0572
mov dword [ebp - 0x1c], 1
mov eax, dword [0x6f506c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4c0380
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4c0380
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4c03ba
call fcn.0049f97f
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 0x4c03ba
mov dword [ebp - 0x1c], 0
mov eax, dword [0xa9fa08]
cmp dword [ebp - 0x1c], eax
je 0x4c0572
mov eax, dword [0xa9fa08]
xor eax, 1
mov dword [0xa9fa08], eax
mov eax, dword [0x6f506c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa9fa0c], eax
mov eax, dword [0x6f506c]
mov byte [eax + 0x50], 1
mov edx, dword [0x6e4690]
mov eax, dword [0x6f506c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa9fa10], eax
mov edx, dword [0x6e4694]
mov eax, dword [0x6f506c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa9fa14], eax
mov eax, dword [0xa9fa14]
test eax, eax
jne 0x4c0436
mov dword [0xa9fa14], 1
mov eax, dword [0xa9fa14]
mov dword [0xa9fa18], eax
mov eax, dword [0x6f506c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4c046b
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4c046b
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4c0475
mov dword [0xa9fa18], 1
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa9fa10]
imul eax, edx
mov dword [0xa9fa1c], eax
mov dword [0xa9fa20], 0
jmp 0x4c054c
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa9fa14]
imul eax, edx
mov dword [0xa9fa24], eax
mov dword [0xa9fa28], 0
jmp 0x4c051e
mov edx, dword [0xa9fa1c]
mov eax, dword [0xa9fa24]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004b9c3c
mov edx, eax
mov eax, dword [0x6f506c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa9fa1c]
mov eax, dword [0xa9fa24]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004a0aca
mov eax, dword [0xa9fa24]
add eax, 1
mov dword [0xa9fa24], eax
mov eax, dword [0xa9fa28]
add eax, 1
mov dword [0xa9fa28], eax
mov edx, dword [0xa9fa28]
mov eax, dword [0xa9fa18]
cmp edx, eax
setl al
test al, al
jne 0x4c04c4
mov eax, dword [0xa9fa1c]
add eax, 1
mov dword [0xa9fa1c], eax
mov eax, dword [0xa9fa20]
add eax, 1
mov dword [0xa9fa20], eax
mov edx, dword [0xa9fa20]
mov eax, dword [0xa9fa10]
cmp edx, eax
setl al
test al, al
jne 0x4c049e
mov edx, dword [0x6f506c]
mov eax, dword [0xa9fa0c]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x4c05a1
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.004ab8b1
jmp 0x4c0677
mov eax, dword [0x6f506c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x4c0626
mov dword [esp], 0x5974a6
call fcn.004ab536
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004ab8b1
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 0x4c0613
cmp dword [ebp - 0x2c], 0xa
jne 0x4c05ec
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x59e89a
call fcn.004ab536
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004ab8b1
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x4c0664
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x4c0664
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call fcn.004ad98a
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004ab8b1
mov dword [0x6e4378], 1
call fcn.0046fbad
mov dword [0x6e4378], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.004fe469
movzx eax, byte [0x5ce299]
test al, al
jne 0x4c0be2
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x4c033c
mov eax, dword [0x6f506c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x4c085a
mov eax, dword [0xa9fa08]
test eax, eax
je 0x4c085a
mov dword [0xa9fa08], 0
mov eax, dword [0x6f506c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa9fa2c], eax
mov eax, dword [0x6f506c]
mov byte [eax + 0x50], 1
mov edx, dword [0x6e4690]
mov eax, dword [0x6f506c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa9fa30], eax
mov edx, dword [0x6e4694]
mov eax, dword [0x6f506c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa9fa34], eax
mov eax, dword [0xa9fa34]
test eax, eax
jne 0x4c071e
mov dword [0xa9fa34], 1
mov eax, dword [0xa9fa34]
mov dword [0xa9fa38], eax
mov eax, dword [0x6f506c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4c0753
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4c0753
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4c075d
mov dword [0xa9fa38], 1
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa9fa30]
imul eax, edx
mov dword [0xa9fa3c], eax
mov dword [0xa9fa40], 0
jmp 0x4c0834
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa9fa34]
imul eax, edx
mov dword [0xa9fa44], eax
mov dword [0xa9fa48], 0
jmp 0x4c0806
mov edx, dword [0xa9fa3c]
mov eax, dword [0xa9fa44]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004b9c3c
mov edx, eax
mov eax, dword [0x6f506c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa9fa3c]
mov eax, dword [0xa9fa44]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004a0aca
mov eax, dword [0xa9fa44]
add eax, 1
mov dword [0xa9fa44], eax
mov eax, dword [0xa9fa48]
add eax, 1
mov dword [0xa9fa48], eax
mov edx, dword [0xa9fa48]
mov eax, dword [0xa9fa38]
cmp edx, eax
setl al
test al, al
jne 0x4c07ac
mov eax, dword [0xa9fa3c]
add eax, 1
mov dword [0xa9fa3c], eax
mov eax, dword [0xa9fa40]
add eax, 1
mov dword [0xa9fa40], eax
mov edx, dword [0xa9fa40]
mov eax, dword [0xa9fa30]
cmp edx, eax
setl al
test al, al
jne 0x4c0786
mov edx, dword [0x6f506c]
mov eax, dword [0xa9fa2c]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x4c087e
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004bbcd2
jmp 0x4beaf4
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x4beade
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x4c08ba
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 0x4beaf4
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x4beae1
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x4beae4
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x4beae7
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x4beaea
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x4beaed
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x4beaf0
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x4c0a3d
mov dword [ebp - 0x1c], 1
jmp 0x4c0949
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa79aa0]
mov dword [esp], eax
call fcn.004aacbd
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x4c0933
cmp byte [ebp - 0x9c], 0
je 0x4c098f
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x6f506c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x4c098f
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.004bbcd2
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.004aacbd
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.004aacbd
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004aacbd
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004aacbd
mov eax, dword [0x6f506c]
mov edx, dword [0xa79ea4]
mov byte [eax + 0x3c], dl
mov eax, dword [0xa9f9d0]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004d2b7f
mov eax, dword [0xa9f9d4]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004d2b7f
mov eax, dword [0xa9f9c8]
test eax, eax
jne 0x4c0a2a
mov dword [0x5822d8], 0xffffffff
jmp 0x4c0a1c
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x5822d8]
test eax, eax
setne al
test al, al
jne 0x4c0a0b
mov eax, dword [0xa9f9cc]
mov dword [esp], eax
call fcn.004d2e5b
nop
jmp 0x4c0be3
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x4c0b76
jmp 0x4c0a56
nop
jmp 0x4c0a56
nop
jmp 0x4c0a56
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x4c032f
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.004d2fa1
mov dword [ebp - 0x20], eax
mov edx, dword [0xa9f9d4]
mov eax, dword [0xa9f9d0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004b17ab
mov eax, dword [0xa9f9d4]
mov dword [esp], eax
call fcn.004d2ef8
mov edx, dword [0x6f506c]
mov eax, dword [0xa9f9d8]
mov word [edx + 0x38], ax
mov edx, dword [0x6f506c]
mov eax, dword [0xa9f9dc]
mov word [edx + 0x3a], ax
mov edx, dword [0x6f506c]
mov eax, dword [0xa9f9e0]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x4c0aff
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.004bbcd2
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 0x4c0ad4
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.004d2ef8
mov edx, dword [0xa9f9d4]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004b17ab
mov ecx, dword [0x6f506c]
mov edx, dword [0x6f5044]
mov eax, dword [0xa9f9d4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x6f506c]
mov edx, dword [0x6f5044]
mov eax, dword [0xa9f9d4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x4beaf4
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x4beaf3
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004ac075
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004ab8b1
mov eax, dword [0x6f506c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x4c0bc8
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004bbcd2
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.004ab8b1
jmp 0x4beaf4
nop
jmp 0x4c0be3
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret