Function at 0x4be767
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 0x4c0b1f
mov eax, dword [0x5822d8]
mov dword [0xa9f9c8], eax
mov dword [0x5822d8], 1
call fcn.004d2ed5
mov dword [0xa9f9cc], eax
call fcn.004d2ee1
mov dword [esp], eax
call fcn.004d2d9b
call fcn.004d2ee1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004d27e2
mov dword [0xa9f9d0], eax
mov eax, dword [0xa9f9d0]
cmp eax, 0xffffffff
jne 0x4be7ec
mov dword [esp], 0x204
call fcn.004a9f70
call fcn.004d2ee1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004d27e2
mov dword [0xa9f9d4], eax
mov eax, dword [0xa9f9d4]
cmp eax, 0xffffffff
jne 0x4be824
mov dword [esp], 0x205
call fcn.004a9f70
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 0x4be895
mov eax, dword [0x6de6e4]
and eax, 0x200
test eax, eax
je 0x4be895
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.004ab68a
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004ab68a
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004ab68a
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.004ab68a
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x4be942
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004ab68a
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 0x4be91e
mov dword [ebp - 0x1c], 1
jmp 0x4bea0b
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x40000000
test eax, eax
je 0x4be9c2
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6de2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x4be9b1
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 0x4be9c2
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 0x4bea07
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 0x4be95b
jmp 0x4bea34
nop
jmp 0x4bea34
nop
jmp 0x4bea34
nop
jmp 0x4bea34
nop
jmp 0x4bea34
nop
jmp 0x4bea34
nop
jmp 0x4bea34
nop
jmp 0x4bea34
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 0x4beb72
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 0x4beace
cmp dword [ebp - 0x20], 1
je 0x4beace
mov eax, dword [0xa9f9e4]
test eax, eax
jne 0x4beace
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x4beab1
mov dword [ebp - 0x3c], 1
jmp 0x4beb72
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x4beb69
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 0x4beb0d
cmp dword [ebp - 0x38], 0
je 0x4beafe
mov eax, dword [0xa9f9e4]
test eax, eax
jne 0x4beafe
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x4beb69
cmp dword [ebp - 0x20], 1
jne 0x4beb0d
mov dword [ebp - 0x20], 2
jmp 0x4beb69
cmp dword [ebp - 0x20], 2
je 0x4c098f
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.004abfb5
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.004ab7f1
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x4bea63
cmp dword [ebp - 0x3c], 0
jne 0x4c0992
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 0x4bf0a3
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x20000000
test eax, eax
jne 0x4bf0a3
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x4bf0a3
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x4bec25
mov dword [ebp - 0x88], 0x30
jmp 0x4bf053
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 0x4bec5c
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.004be3f7
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x4bee2e
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 0x4becbd
cmp edx, dword [ebp - 0x4c]
ja 0x4becb4
cmp eax, dword [ebp - 0x50]
jbe 0x4becbd
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
cmp dword [ebp - 0x24], 1
jne 0x4bed60
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 0x4bed18
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 0x4bed01
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 0x4bece3
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x4bed3a
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
cmp dword [ebp - 0x8c], 1
jne 0x4bed4d
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x4bed60
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x4bee17
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 0x4bedcf
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 0x4bedb8
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 0x4bed86
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x4bedf1
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
cmp dword [ebp - 0x8c], 1
jne 0x4bee04
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x4bee17
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 0x4bf053
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x10000000
test eax, eax
je 0x4bee51
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x4bee75
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 0x4beec1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4beec1
cmp dword [ebp - 0x8c], 1
jne 0x4beeb9
mov dword [ebp - 0x88], 0x30
jmp 0x4bf053
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 0x4beeea
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4beeea
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
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 0x4bf00f
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 0x4befda
cmp dword [ebp - 0x24], 9
jg 0x4befda
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 0x4bef98
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x4befe3
cmp edx, dword [ebp - 0x4c]
ja 0x4bef8f
cmp eax, dword [ebp - 0x50]
jbe 0x4befe3
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
cmp byte [ebp - 0x3e], 0
je 0x4befbc
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x4befe3
cmp edx, dword [ebp - 0x54]
ja 0x4befb3
cmp eax, dword [ebp - 0x58]
jbe 0x4befe3
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x4befe3
cmp edx, dword [ebp - 0x4c]
ja 0x4befd1
cmp eax, dword [ebp - 0x50]
jbe 0x4befe3
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
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 0x4bef17
cmp byte [ebp - 0x3e], 0
je 0x4bf041
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 0x4bf053
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 0x4c0251
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 0x4c0251
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x40000000
test eax, eax
je 0x4bf10b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x4bf0e6
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de2c0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x4bf0e6
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
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.004ab7f1
jmp 0x4c0251
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x40000000
test eax, eax
jne 0x4bf4b1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x20000000
test eax, eax
jne 0x4bf4b1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4bf4b1
cmp dword [ebp - 0x8c], 0
jne 0x4bf180
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 0x4c0251
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov dword [esp], eax
call fcn.004be3f7
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x4bf232
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 0x4bf1d3
cmp edx, dword [ebp - 0x4c]
ja 0x4bf1ca
cmp eax, dword [ebp - 0x50]
jbe 0x4bf1d3
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
cmp dword [ebp - 0x24], 1
jne 0x4bf1ec
cmp dword [ebp - 0x8c], 1
jne 0x4bf1ec
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x4bf205
cmp dword [ebp - 0x8c], 1
jne 0x4bf205
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x4bf218
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 0x4c0251
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x10000000
test eax, eax
jne 0x4bf295
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4bf295
cmp dword [ebp - 0x8c], 1
jne 0x4bf28d
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 0x4c0251
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 0x4bf2be
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4bf2be
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x4bf307
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 0x4bf2f6
cmp dword [ebp - 0x24], 9
jle 0x4bf2ff
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
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 0x4bf2d3
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x10000000
test eax, eax
je 0x4bf34a
cmp dword [ebp - 0x28], 0x13
jle 0x4bf3fa
cmp dword [ebp - 0x28], 0x14
jle 0x4bf340
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x4bf37b
cmp dword [ebp - 0x28], 0x12
jle 0x4bf3fd
cmp dword [ebp - 0x28], 0x13
jle 0x4bf363
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
cmp byte [ebp - 0x3e], 0
je 0x4bf373
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x4bf37b
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 0x4bf3eb
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 0x4bf400
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 0x4bf3e7
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x4bf396
jmp 0x4bf401
nop
jmp 0x4bf401
nop
jmp 0x4bf401
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.004abfb5
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.004ab7f1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x10000000
test eax, eax
je 0x4bf482
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 0x4c0251
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 0x4c0251
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x20000000
test eax, eax
je 0x4c0251
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 0x4bf52d
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 0x4bf54f
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 0x4bf586
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 0x4bf59e
mov dword [ebp - 0x88], 0x30
jmp 0x4c0251
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa79aa0]
mov dword [esp], eax
call fcn.004be3f7
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x4bf8a3
mov eax, dword [0xa79678]
mov edx, dword [0xa7967c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x4bf5ec
cmp dword [ebp - 0x8c], 1
jne 0x4bf5ec
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x4bf605
cmp dword [ebp - 0x8c], 1
jne 0x4bf605
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x4bf618
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 0x4bf77a
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 0x4bf6e2
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 0x4bf72d
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 0x4bf77a
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 0x4bf79e
cmp edx, dword [ebp - 0x6c]
ja 0x4bf799
cmp eax, dword [ebp - 0x70]
jb 0x4bf79e
mov ecx, 0
test cl, cl
jne 0x4bf686
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 0x4bf802
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 0x4bf84d
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 0x4c024d
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 0x4c024d
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 0x4bf8dc
cmp dword [ebp - 0x8c], 1
jne 0x4bf8d4
mov dword [ebp - 0x88], 0x30
jmp 0x4c0251
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 0x4bf923
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4c0250
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 0x4bf9e6
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x4bf9cd
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 0x4bf95a
cmp dword [ebp - 0x24], 0x64
je 0x4bf95a
cmp dword [ebp - 0x24], 0x45
je 0x4bf95a
cmp dword [ebp - 0x24], 0x65
jne 0x4bf976
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x4bf96b
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x4bfafc
cmp dword [ebp - 0x24], 0x2e
jne 0x4bf984
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x4bf9e7
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x4bf994
cmp dword [ebp - 0x24], 9
jle 0x4bf99d
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
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 0x4bf92e
jmp 0x4bfcd6
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x4bfa0b
mov dword [ebp - 0x88], 0x30
jmp 0x4bfcd6
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x4bfae3
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 0x4bfa46
cmp dword [ebp - 0x24], 0x64
je 0x4bfa46
cmp dword [ebp - 0x24], 0x45
je 0x4bfa46
cmp dword [ebp - 0x24], 0x65
jne 0x4bfa6b
mov eax, dword [0xa79a80]
test eax, eax
je 0x4bfa6b
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x4bfa60
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x4bfafc
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x4bfa7b
cmp dword [ebp - 0x24], 9
jle 0x4bfa84
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
cmp dword [ebp - 0x24], 0
je 0x4bfa91
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x4bfaa4
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 0x4bfac0
cmp dword [ebp - 0x24], 0
je 0x4bfadf
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 0x4bfa1a
jmp 0x4bfcd6
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4bfb39
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 0x4bfb30
cmp dword [ebp - 0x24], 0x64
jne 0x4bfb39
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
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 0x4bfb59
cmp dword [ebp - 0x24], 0x64
jne 0x4bfb67
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 0x4bfb84
mov dword [ebp - 0x88], 0x30
jmp 0x4bfcd6
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 0x4bfbcd
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x4bfbbf
mov dword [ebp - 0x88], 0x30
jmp 0x4bfcd6
mov dword [0xa9f9f0], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x4bfbf4
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x4bfbf0
mov dword [ebp - 0x88], 0x30
jmp 0x4bfcd6
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 0x4bfc1d
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4bfc1d
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
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 0x4bfcc5
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 0x4bfcbc
cmp dword [ebp - 0x24], 9
jg 0x4bfcbc
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 0x4bfcc5
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x4bfc47
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4bff44
mov eax, dword [0xa9f9f0]
test eax, eax
je 0x4bfd01
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa9f9f4]
cmp eax, 1
jne 0x4bfd29
mov eax, dword [0xa9f9ec]
cmp eax, 1
jne 0x4bfd29
mov dword [0xa9f9ec], 0
mov dword [0xa9f9f4], 0
mov eax, dword [0xa9f9f4]
cmp eax, 0x2b
jle 0x4bfd3c
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
mov eax, dword [0xa9f9e8]
test eax, eax
jne 0x4bfd58
mov edx, dword [0xa9f9ec]
mov eax, dword [0xa9f9f4]
cmp edx, eax
je 0x4bfed2
mov eax, dword [0xa9f9e8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4bfd70
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 0x4bfd8a
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
cmp dword [ebp - 0x1c], 0x27
jne 0x4bfe01
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 0x4bfdad
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4bfdf1
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 0x4bfdd4
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
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 0x4bfe00
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 0x4bfdb6
jmp 0x4bfe01
nop
mov eax, dword [0xa9f9ec]
test eax, eax
je 0x4bfe4d
mov eax, dword [0xa9f9e8]
test eax, eax
je 0x4bfe2e
mov edx, dword [0xa9f9ec]
mov eax, dword [0xa9f9e8]
add eax, edx
cmp eax, 8
jle 0x4bfe4d
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
mov edx, dword [0xa9f9ec]
mov eax, dword [0xa9f9f4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x4bfe4d
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x4bfe5c
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x4bfed6
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 0x4bfe7f
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4bfec3
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 0x4bfea6
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
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 0x4bfed5
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 0x4bfe88
jmp 0x4bfed6
nop
jmp 0x4bfed6
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.004abfb5
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.004ab7f1
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 0x4c0251
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4c01c0
mov eax, dword [0xa9f9f0]
test eax, eax
je 0x4bff6f
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa9f9f4]
cmp eax, 1
jne 0x4bff97
mov eax, dword [0xa9f9ec]
cmp eax, 1
jne 0x4bff97
mov dword [0xa9f9ec], 0
mov dword [0xa9f9f4], 0
mov eax, dword [0xa9f9f4]
cmp eax, 0x142
jle 0x4bffac
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
mov eax, dword [0xa9f9e8]
test eax, eax
jne 0x4bffc8
mov edx, dword [0xa9f9ec]
mov eax, dword [0xa9f9f4]
cmp edx, eax
je 0x4c014e
mov eax, dword [0xa9f9e8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4bffe0
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 0x4bfffd
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
cmp dword [ebp - 0x1c], 0x135
jne 0x4c0077
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 0x4c0023
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x4c0067
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 0x4c004a
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
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 0x4c0076
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 0x4c002c
jmp 0x4c0077
nop
mov eax, dword [0xa9f9ec]
test eax, eax
je 0x4c00c3
mov eax, dword [0xa9f9e8]
test eax, eax
je 0x4c00a4
mov edx, dword [0xa9f9ec]
mov eax, dword [0xa9f9e8]
add eax, edx
cmp eax, 0x10
jle 0x4c00c3
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
mov edx, dword [0xa9f9ec]
mov eax, dword [0xa9f9f4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x4c00c3
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x4c00d5
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x4c0152
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 0x4c00fb
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4c013f
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 0x4c0122
mov byte [ebp - 0x3d], 0
jmp 0x4c0251
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 0x4c0151
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 0x4c0104
jmp 0x4c0152
nop
jmp 0x4c0152
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.004abfb5
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.004ab7f1
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 0x4c0251
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6de6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4c0251
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.004abfb5
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.004ab7f1
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 0x4c0251
nop
jmp 0x4c0251
nop
cmp byte [ebp - 0x3d], 0
je 0x4c0995
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004ab7f1
jmp 0x4c0270
nop
mov dword [0xa9fa08], 0
jmp 0x4c027d
nop
mov eax, dword [0x6f506c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x4c04b2
mov dword [ebp - 0x1c], 1
mov eax, dword [0x6f506c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4c02c0
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4c02c0
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4c02fa
call fcn.0049f8bf
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 0x4c02fa
mov dword [ebp - 0x1c], 0
mov eax, dword [0xa9fa08]
cmp dword [ebp - 0x1c], eax
je 0x4c04b2
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 0x4c0376
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 0x4c03ab
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4c03ab
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4c03b5
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 0x4c048c
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 0x4c045e
mov edx, dword [0xa9fa1c]
mov eax, dword [0xa9fa24]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004b9b7c
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.004a0a0a
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 0x4c0404
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 0x4c03de
mov edx, dword [0x6f506c]
mov eax, dword [0xa9fa0c]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x4c04e1
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.004ab7f1
jmp 0x4c05b7
mov eax, dword [0x6f506c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x4c0566
mov dword [esp], 0x5974a6
call fcn.004ab476
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004ab7f1
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 0x4c0553
cmp dword [ebp - 0x2c], 0xa
jne 0x4c052c
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x59e89a
call fcn.004ab476
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004ab7f1
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x4c05a4
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x4c05a4
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call fcn.004ad8ca
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004ab7f1
mov dword [0x6e4378], 1
call fcn.0046faed
mov dword [0x6e4378], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.004fe3a9
movzx eax, byte [0x5ce299]
test al, al
jne 0x4c0b22
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x4c027c
mov eax, dword [0x6f506c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x4c079a
mov eax, dword [0xa9fa08]
test eax, eax
je 0x4c079a
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 0x4c065e
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 0x4c0693
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4c0693
mov eax, dword [0x6f506c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4c069d
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 0x4c0774
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 0x4c0746
mov edx, dword [0xa9fa3c]
mov eax, dword [0xa9fa44]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004b9b7c
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.004a0a0a
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 0x4c06ec
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 0x4c06c6
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 0x4c07be
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004bbc12
jmp 0x4bea34
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x4bea1e
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x4c07fa
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 0x4bea34
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x4bea21
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x4bea24
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x4bea27
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x4bea2a
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x4bea2d
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x4bea30
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x4c097d
mov dword [ebp - 0x1c], 1
jmp 0x4c0889
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa79aa0]
mov dword [esp], eax
call fcn.004aabfd
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x4c0873
cmp byte [ebp - 0x9c], 0
je 0x4c08cf
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x6f506c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x4c08cf
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.004bbc12
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.004aabfd
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.004aabfd
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004aabfd
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004aabfd
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.004d2abf
mov eax, dword [0xa9f9d4]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004d2abf
mov eax, dword [0xa9f9c8]
test eax, eax
jne 0x4c096a
mov dword [0x5822d8], 0xffffffff
jmp 0x4c095c
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 0x4c094b
mov eax, dword [0xa9f9cc]
mov dword [esp], eax
call fcn.004d2d9b
nop
jmp 0x4c0b23
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x4c0ab6
jmp 0x4c0996
nop
jmp 0x4c0996
nop
jmp 0x4c0996
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x4c026f
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.004d2ee1
mov dword [ebp - 0x20], eax
mov edx, dword [0xa9f9d4]
mov eax, dword [0xa9f9d0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004b16eb
mov eax, dword [0xa9f9d4]
mov dword [esp], eax
call fcn.004d2e38
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 0x4c0a3f
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.004bbc12
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 0x4c0a14
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.004d2e38
mov edx, dword [0xa9f9d4]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004b16eb
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 0x4bea34
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x4bea33
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004abfb5
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004ab7f1
mov eax, dword [0x6f506c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x4c0b08
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004bbc12
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.004ab7f1
jmp 0x4bea34
nop
jmp 0x4c0b23
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret