Function at 0x4bf4ab
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 [0x5cf28c]
test eax, eax
jne 0x4c1863
mov eax, dword [0x5832d8]
mov dword [0xaa09c8], eax
mov dword [0x5832d8], 1
call fcn.004d3c19
mov dword [0xaa09cc], eax
call fcn.004d3c25
mov dword [esp], eax
call fcn.004d3adf
call fcn.004d3c25
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004d3526
mov dword [0xaa09d0], eax
mov eax, dword [0xaa09d0]
cmp eax, 0xffffffff
jne 0x4bf530
mov dword [esp], 0x204
call fcn.004aacb4
call fcn.004d3c25
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004d3526
mov dword [0xaa09d4], eax
mov eax, dword [0xaa09d4]
cmp eax, 0xffffffff
jne 0x4bf568
mov dword [esp], 0x205
call fcn.004aacb4
mov eax, dword [0x6f606c]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xaa09d8], eax
mov eax, dword [0x6f606c]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xaa09dc], eax
mov eax, dword [0x6f606c]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xaa09e0], eax
mov eax, dword [0x583014]
mov dword [ebp - 0x74], eax
mov dword [0xaa09e4], 0
mov eax, dword [0x6df6e4]
and eax, 0x40000000
test eax, eax
je 0x4bf5d9
mov eax, dword [0x6df6e4]
and eax, 0x200
test eax, eax
je 0x4bf5d9
mov dword [0x6df6e4], 0xfffffe00
mov dword [0xaa09e4], 1
mov eax, dword [0x6f606c]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa7aea4], eax
mov eax, dword [0x6f606c]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004ac3ce
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004ac3ce
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004ac3ce
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.004ac3ce
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x4bf686
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004ac3ce
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa7aaa0], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x4bf662
mov dword [ebp - 0x1c], 1
jmp 0x4bf74f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x40000000
test eax, eax
je 0x4bf706
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6df2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x4bf6f5
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6df2c0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6df2c0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x4bf706
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6df2c0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x1000000
test eax, eax
jne 0x4bf74b
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6df2c0]
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 0x4bf69f
jmp 0x4bf778
nop
jmp 0x4bf778
nop
jmp 0x4bf778
nop
jmp 0x4bf778
nop
jmp 0x4bf778
nop
jmp 0x4bf778
nop
jmp 0x4bf778
nop
jmp 0x4bf778
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa7aaa4]
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 0x4bf8b6
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 0x4bf812
cmp dword [ebp - 0x20], 1
je 0x4bf812
mov eax, dword [0xaa09e4]
test eax, eax
jne 0x4bf812
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x4bf7f5
mov dword [ebp - 0x3c], 1
jmp 0x4bf8b6
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa7aaa0]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x4bf8ad
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 0x4bf851
cmp dword [ebp - 0x38], 0
je 0x4bf842
mov eax, dword [0xaa09e4]
test eax, eax
jne 0x4bf842
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x4bf8ad
cmp dword [ebp - 0x20], 1
jne 0x4bf851
mov dword [ebp - 0x20], 2
jmp 0x4bf8ad
cmp dword [ebp - 0x20], 2
je 0x4c16d3
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 + 0xa7aaa0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004accf9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa7aaa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ac535
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x4bf7a7
cmp dword [ebp - 0x3c], 0
jne 0x4c16d6
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa7aaa0]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa7aaa0]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x40000000
test eax, eax
jne 0x4bfde7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x20000000
test eax, eax
jne 0x4bfde7
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x4bfde7
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x4bf969
mov dword [ebp - 0x88], 0x30
jmp 0x4bfd97
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
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 0x4bf9a0
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 + 0xa7aaa0]
mov dword [esp], eax
call fcn.004bf13b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x4bfb72
mov eax, dword [0xa7a678]
mov edx, dword [0xa7a67c]
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 0x4bfa01
cmp edx, dword [ebp - 0x4c]
ja 0x4bf9f8
cmp eax, dword [ebp - 0x50]
jbe 0x4bfa01
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
cmp dword [ebp - 0x24], 1
jne 0x4bfaa4
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 0x4bfa5c
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 0x4bfa45
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 0x4bfa27
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x4bfa7e
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
cmp dword [ebp - 0x8c], 1
jne 0x4bfa91
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x4bfaa4
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x4bfb5b
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 0x4bfb13
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 0x4bfafc
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 0x4bfaca
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x4bfb35
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
cmp dword [ebp - 0x8c], 1
jne 0x4bfb48
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x4bfb5b
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 0x4bfd97
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x10000000
test eax, eax
je 0x4bfb95
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x4bfbb9
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 + 0x6df6e0]
and eax, 0x10000000
test eax, eax
jne 0x4bfc05
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4bfc05
cmp dword [ebp - 0x8c], 1
jne 0x4bfbfd
mov dword [ebp - 0x88], 0x30
jmp 0x4bfd97
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 0x4bfc2e
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4bfc2e
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
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 0x4bfd53
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 0x4bfd1e
cmp dword [ebp - 0x24], 9
jg 0x4bfd1e
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 + 0x6df6e0]
and eax, 0x10000000
test eax, eax
je 0x4bfcdc
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x4bfd27
cmp edx, dword [ebp - 0x4c]
ja 0x4bfcd3
cmp eax, dword [ebp - 0x50]
jbe 0x4bfd27
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
cmp byte [ebp - 0x3e], 0
je 0x4bfd00
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x4bfd27
cmp edx, dword [ebp - 0x54]
ja 0x4bfcf7
cmp eax, dword [ebp - 0x58]
jbe 0x4bfd27
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x4bfd27
cmp edx, dword [ebp - 0x4c]
ja 0x4bfd15
cmp eax, dword [ebp - 0x50]
jbe 0x4bfd27
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
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 0x4bfc5b
cmp byte [ebp - 0x3e], 0
je 0x4bfd85
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 0x4bfd97
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 + 0x6df6e0]
and eax, 0x1000000
test eax, eax
jne 0x4c0f95
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6df2c0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x4c0f95
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x40000000
test eax, eax
je 0x4bfe4f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df2c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x4bfe2a
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df2c0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x4bfe2a
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa7aaa0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df2c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ac535
jmp 0x4c0f95
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x40000000
test eax, eax
jne 0x4c01f5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x20000000
test eax, eax
jne 0x4c01f5
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4c01f5
cmp dword [ebp - 0x8c], 0
jne 0x4bfec4
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df2c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x4c0f95
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa7aaa0]
mov dword [esp], eax
call fcn.004bf13b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x4bff76
mov eax, dword [0xa7a678]
mov edx, dword [0xa7a67c]
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 0x4bff17
cmp edx, dword [ebp - 0x4c]
ja 0x4bff0e
cmp eax, dword [ebp - 0x50]
jbe 0x4bff17
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
cmp dword [ebp - 0x24], 1
jne 0x4bff30
cmp dword [ebp - 0x8c], 1
jne 0x4bff30
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x4bff49
cmp dword [ebp - 0x8c], 1
jne 0x4bff49
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x4bff5c
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6df2c0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4c0f95
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x10000000
test eax, eax
jne 0x4bffd9
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4bffd9
cmp dword [ebp - 0x8c], 1
jne 0x4bffd1
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df2c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x4c0f95
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 0x4c0002
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4c0002
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x4c004b
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 0x4c003a
cmp dword [ebp - 0x24], 9
jle 0x4c0043
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
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 0x4c0017
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x10000000
test eax, eax
je 0x4c008e
cmp dword [ebp - 0x28], 0x13
jle 0x4c013e
cmp dword [ebp - 0x28], 0x14
jle 0x4c0084
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x4c00bf
cmp dword [ebp - 0x28], 0x12
jle 0x4c0141
cmp dword [ebp - 0x28], 0x13
jle 0x4c00a7
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
cmp byte [ebp - 0x3e], 0
je 0x4c00b7
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x4c00bf
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa7aaa0]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x4c012f
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 0x4c0144
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 0x4c012b
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x4c00da
jmp 0x4c0145
nop
jmp 0x4c0145
nop
jmp 0x4c0145
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa7aaa0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004accf9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa7aaa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ac535
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x10000000
test eax, eax
je 0x4c01c6
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6df2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa7aaa0]
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 0x4c0f95
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6df2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa7aaa0]
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 0x4c0f95
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x20000000
test eax, eax
je 0x4c0f95
mov dword [0xaa09e8], 0
mov dword [0xaa09ec], 0
mov dword [0xaa09f0], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xaa09f4], 0
mov dword [0xa7aa80], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4c0271
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6df2c0]
mov eax, dword [0x5b3278]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4c0293
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df2c0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4c02ca
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x6df2c0]
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 0x4c02e2
mov dword [ebp - 0x88], 0x30
jmp 0x4c0f95
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa7aaa0]
mov dword [esp], eax
call fcn.004bf13b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x4c05e7
mov eax, dword [0xa7a678]
mov edx, dword [0xa7a67c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x4c0330
cmp dword [ebp - 0x8c], 1
jne 0x4c0330
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x4c0349
cmp dword [ebp - 0x8c], 1
jne 0x4c0349
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x4c035c
mov dword [ebp - 0x88], 0x30
mov dword [0xaa09f8], 0x7fffffff
mov dword [0xaa09fc], 0
mov eax, dword [0xaa09f8]
mov edx, dword [0xaa09fc]
mov edx, eax
mov eax, 0
mov dword [0xaa09f8], eax
mov dword [0xaa09fc], edx
mov eax, dword [0xaa09f8]
mov edx, dword [0xaa09fc]
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 [0xaa09f8], eax
mov dword [0xaa09fc], edx
jmp 0x4c04be
mov eax, dword [0xaa09f8]
mov edx, dword [0xaa09fc]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4c0426
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6df2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df2c0]
fld dword [eax]
mov eax, dword [0xaa09f8]
mov edx, dword [0xaa09fc]
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 + 0x6df6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4c0471
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6df2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df2c0]
fld qword [eax]
mov eax, dword [0xaa09f8]
mov edx, dword [0xaa09fc]
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 + 0x6df6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4c04be
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6df2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df2c0]
fld xword [eax]
mov eax, dword [0xaa09f8]
mov edx, dword [0xaa09fc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xaa09f8]
mov edx, dword [0xaa09fc]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x4c04e2
cmp edx, dword [ebp - 0x6c]
ja 0x4c04dd
cmp eax, dword [ebp - 0x70]
jb 0x4c04e2
mov ecx, 0
test cl, cl
jne 0x4c03ca
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xaa09f8], eax
mov dword [0xaa09fc], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4c0546
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6df2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df2c0]
fld dword [eax]
mov eax, dword [0xaa09f8]
mov edx, dword [0xaa09fc]
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 + 0x6df6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4c0591
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6df2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df2c0]
fld qword [eax]
mov eax, dword [0xaa09f8]
mov edx, dword [0xaa09fc]
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 + 0x6df6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4c0f91
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6df2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df2c0]
fld xword [eax]
mov eax, dword [0xaa09f8]
mov edx, dword [0xaa09fc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x4c0f91
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 0x4c0620
cmp dword [ebp - 0x8c], 1
jne 0x4c0618
mov dword [ebp - 0x88], 0x30
jmp 0x4c0f95
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 0x4c0667
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4c0f94
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 0x4c072a
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x4c0711
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 0x4c069e
cmp dword [ebp - 0x24], 0x64
je 0x4c069e
cmp dword [ebp - 0x24], 0x45
je 0x4c069e
cmp dword [ebp - 0x24], 0x65
jne 0x4c06ba
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x4c06af
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x4c0840
cmp dword [ebp - 0x24], 0x2e
jne 0x4c06c8
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x4c072b
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x4c06d8
cmp dword [ebp - 0x24], 9
jle 0x4c06e1
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov eax, dword [0xaa09e8]
add eax, 1
mov dword [0xaa09e8], eax
mov edx, dword [0xa7aa80]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa7a680], al
mov eax, dword [0xa7aa80]
add eax, 1
mov dword [0xa7aa80], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x4c0672
jmp 0x4c0a1a
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x4c074f
mov dword [ebp - 0x88], 0x30
jmp 0x4c0a1a
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x4c0827
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 0x4c078a
cmp dword [ebp - 0x24], 0x64
je 0x4c078a
cmp dword [ebp - 0x24], 0x45
je 0x4c078a
cmp dword [ebp - 0x24], 0x65
jne 0x4c07af
mov eax, dword [0xa7aa80]
test eax, eax
je 0x4c07af
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x4c07a4
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x4c0840
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x4c07bf
cmp dword [ebp - 0x24], 9
jle 0x4c07c8
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
cmp dword [ebp - 0x24], 0
je 0x4c07d5
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x4c07e8
mov eax, dword [0xaa09f4]
add eax, 1
mov dword [0xaa09f4], eax
mov eax, dword [0xaa09ec]
add eax, 1
mov dword [0xaa09ec], eax
mov eax, dword [0xa7aa80]
test eax, eax
jne 0x4c0804
cmp dword [ebp - 0x24], 0
je 0x4c0823
mov edx, dword [0xa7aa80]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa7a680], al
mov eax, dword [0xa7aa80]
add eax, 1
mov dword [0xa7aa80], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x4c075e
jmp 0x4c0a1a
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4c087d
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 0x4c0874
cmp dword [ebp - 0x24], 0x64
jne 0x4c087d
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
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 0x4c089d
cmp dword [ebp - 0x24], 0x64
jne 0x4c08ab
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 0x4c08c8
mov dword [ebp - 0x88], 0x30
jmp 0x4c0a1a
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 0x4c0911
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x4c0903
mov dword [ebp - 0x88], 0x30
jmp 0x4c0a1a
mov dword [0xaa09f0], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x4c0938
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x4c0934
mov dword [ebp - 0x88], 0x30
jmp 0x4c0a1a
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 0x4c0961
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4c0961
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
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 0x4c0a09
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 0x4c0a00
cmp dword [ebp - 0x24], 9
jg 0x4c0a00
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 0x4c0a09
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x4c098b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x4c0c88
mov eax, dword [0xaa09f0]
test eax, eax
je 0x4c0a45
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xaa09f4]
cmp eax, 1
jne 0x4c0a6d
mov eax, dword [0xaa09ec]
cmp eax, 1
jne 0x4c0a6d
mov dword [0xaa09ec], 0
mov dword [0xaa09f4], 0
mov eax, dword [0xaa09f4]
cmp eax, 0x2b
jle 0x4c0a80
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov eax, dword [0xaa09e8]
test eax, eax
jne 0x4c0a9c
mov edx, dword [0xaa09ec]
mov eax, dword [0xaa09f4]
cmp edx, eax
je 0x4c0c16
mov eax, dword [0xaa09e8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4c0ab4
mov eax, dword [0xaa09f4]
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 0x4c0ace
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
cmp dword [ebp - 0x1c], 0x27
jne 0x4c0b45
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa7aa80]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4c0af1
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4c0b35
mov eax, dword [ebp - 0x24]
add eax, 0xa7a680
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x4c0b18
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov eax, dword [ebp - 0x24]
add eax, 0xa7a680
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x4c0b44
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 0x4c0afa
jmp 0x4c0b45
nop
mov eax, dword [0xaa09ec]
test eax, eax
je 0x4c0b91
mov eax, dword [0xaa09e8]
test eax, eax
je 0x4c0b72
mov edx, dword [0xaa09ec]
mov eax, dword [0xaa09e8]
add eax, edx
cmp eax, 8
jle 0x4c0b91
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov edx, dword [0xaa09ec]
mov eax, dword [0xaa09f4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x4c0b91
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x4c0ba0
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x4c0c1a
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa7aa80]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4c0bc3
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4c0c07
mov eax, dword [ebp - 0x24]
add eax, 0xa7a680
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x4c0bea
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov eax, dword [ebp - 0x24]
add eax, 0xa7a680
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x4c0c19
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 0x4c0bcc
jmp 0x4c0c1a
nop
jmp 0x4c0c1a
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa7aaa0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004accf9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa7aaa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ac535
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6df2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa7aaa0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x59f893
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x4c0f95
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4c0f04
mov eax, dword [0xaa09f0]
test eax, eax
je 0x4c0cb3
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xaa09f4]
cmp eax, 1
jne 0x4c0cdb
mov eax, dword [0xaa09ec]
cmp eax, 1
jne 0x4c0cdb
mov dword [0xaa09ec], 0
mov dword [0xaa09f4], 0
mov eax, dword [0xaa09f4]
cmp eax, 0x142
jle 0x4c0cf0
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov eax, dword [0xaa09e8]
test eax, eax
jne 0x4c0d0c
mov edx, dword [0xaa09ec]
mov eax, dword [0xaa09f4]
cmp edx, eax
je 0x4c0e92
mov eax, dword [0xaa09e8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4c0d24
mov eax, dword [0xaa09f4]
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 0x4c0d41
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
cmp dword [ebp - 0x1c], 0x135
jne 0x4c0dbb
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa7aa80]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x4c0d67
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x4c0dab
mov eax, dword [ebp - 0x24]
add eax, 0xa7a680
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x4c0d8e
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov eax, dword [ebp - 0x24]
add eax, 0xa7a680
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x4c0dba
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 0x4c0d70
jmp 0x4c0dbb
nop
mov eax, dword [0xaa09ec]
test eax, eax
je 0x4c0e07
mov eax, dword [0xaa09e8]
test eax, eax
je 0x4c0de8
mov edx, dword [0xaa09ec]
mov eax, dword [0xaa09e8]
add eax, edx
cmp eax, 0x10
jle 0x4c0e07
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov edx, dword [0xaa09ec]
mov eax, dword [0xaa09f4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x4c0e07
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x4c0e19
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x4c0e96
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa7aa80]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4c0e3f
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4c0e83
mov eax, dword [ebp - 0x24]
add eax, 0xa7a680
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x4c0e66
mov byte [ebp - 0x3d], 0
jmp 0x4c0f95
mov eax, dword [ebp - 0x24]
add eax, 0xa7a680
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x4c0e95
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 0x4c0e48
jmp 0x4c0e96
nop
jmp 0x4c0e96
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa7aaa0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004accf9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa7aaa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ac535
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6df2c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa7aaa0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x59f896
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x4c0f95
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df6e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x4c0f95
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa7aaa0]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004accf9
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa7aaa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ac535
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa7aaa0]
mov eax, dword [eax]
mov dword [esp + 8], 0xaa0a00
mov dword [esp + 4], 0x59f896
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6df2c0]
fld qword [0xaa0a00]
fstp xword [eax]
jmp 0x4c0f95
nop
jmp 0x4c0f95
nop
cmp byte [ebp - 0x3d], 0
je 0x4c16d9
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004ac535
jmp 0x4c0fb4
nop
mov dword [0xaa0a08], 0
jmp 0x4c0fc1
nop
mov eax, dword [0x6f606c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x4c11f6
mov dword [ebp - 0x1c], 1
mov eax, dword [0x6f606c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4c1004
mov eax, dword [0x6f606c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4c1004
mov eax, dword [0x6f606c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4c103e
call fcn.004a0603
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 0x4c103e
mov dword [ebp - 0x1c], 0
mov eax, dword [0xaa0a08]
cmp dword [ebp - 0x1c], eax
je 0x4c11f6
mov eax, dword [0xaa0a08]
xor eax, 1
mov dword [0xaa0a08], eax
mov eax, dword [0x6f606c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xaa0a0c], eax
mov eax, dword [0x6f606c]
mov byte [eax + 0x50], 1
mov edx, dword [0x6e5690]
mov eax, dword [0x6f606c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xaa0a10], eax
mov edx, dword [0x6e5694]
mov eax, dword [0x6f606c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xaa0a14], eax
mov eax, dword [0xaa0a14]
test eax, eax
jne 0x4c10ba
mov dword [0xaa0a14], 1
mov eax, dword [0xaa0a14]
mov dword [0xaa0a18], eax
mov eax, dword [0x6f606c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4c10ef
mov eax, dword [0x6f606c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4c10ef
mov eax, dword [0x6f606c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4c10f9
mov dword [0xaa0a18], 1
mov eax, dword [0x6f606c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xaa0a10]
imul eax, edx
mov dword [0xaa0a1c], eax
mov dword [0xaa0a20], 0
jmp 0x4c11d0
mov eax, dword [0x6f606c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xaa0a14]
imul eax, edx
mov dword [0xaa0a24], eax
mov dword [0xaa0a28], 0
jmp 0x4c11a2
mov edx, dword [0xaa0a1c]
mov eax, dword [0xaa0a24]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ba8c0
mov edx, eax
mov eax, dword [0x6f606c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xaa0a1c]
mov eax, dword [0xaa0a24]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004a174e
mov eax, dword [0xaa0a24]
add eax, 1
mov dword [0xaa0a24], eax
mov eax, dword [0xaa0a28]
add eax, 1
mov dword [0xaa0a28], eax
mov edx, dword [0xaa0a28]
mov eax, dword [0xaa0a18]
cmp edx, eax
setl al
test al, al
jne 0x4c1148
mov eax, dword [0xaa0a1c]
add eax, 1
mov dword [0xaa0a1c], eax
mov eax, dword [0xaa0a20]
add eax, 1
mov dword [0xaa0a20], eax
mov edx, dword [0xaa0a20]
mov eax, dword [0xaa0a10]
cmp edx, eax
setl al
test al, al
jne 0x4c1122
mov edx, dword [0x6f606c]
mov eax, dword [0xaa0a0c]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x4c1225
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.004ac535
jmp 0x4c12fb
mov eax, dword [0x6f606c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x4c12aa
mov dword [esp], 0x5984a6
call fcn.004ac1ba
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004ac535
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 0x4c1297
cmp dword [ebp - 0x2c], 0xa
jne 0x4c1270
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x59f89a
call fcn.004ac1ba
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004ac535
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x4c12e8
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x4c12e8
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call fcn.004ae60e
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004ac535
mov dword [0x6e5378], 1
call fcn.00470830
mov dword [0x6e5378], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.004ff0ed
movzx eax, byte [0x5cf299]
test al, al
jne 0x4c1866
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x4c0fc0
mov eax, dword [0x6f606c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x4c14de
mov eax, dword [0xaa0a08]
test eax, eax
je 0x4c14de
mov dword [0xaa0a08], 0
mov eax, dword [0x6f606c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xaa0a2c], eax
mov eax, dword [0x6f606c]
mov byte [eax + 0x50], 1
mov edx, dword [0x6e5690]
mov eax, dword [0x6f606c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xaa0a30], eax
mov edx, dword [0x6e5694]
mov eax, dword [0x6f606c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xaa0a34], eax
mov eax, dword [0xaa0a34]
test eax, eax
jne 0x4c13a2
mov dword [0xaa0a34], 1
mov eax, dword [0xaa0a34]
mov dword [0xaa0a38], eax
mov eax, dword [0x6f606c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4c13d7
mov eax, dword [0x6f606c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4c13d7
mov eax, dword [0x6f606c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4c13e1
mov dword [0xaa0a38], 1
mov eax, dword [0x6f606c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xaa0a30]
imul eax, edx
mov dword [0xaa0a3c], eax
mov dword [0xaa0a40], 0
jmp 0x4c14b8
mov eax, dword [0x6f606c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xaa0a34]
imul eax, edx
mov dword [0xaa0a44], eax
mov dword [0xaa0a48], 0
jmp 0x4c148a
mov edx, dword [0xaa0a3c]
mov eax, dword [0xaa0a44]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ba8c0
mov edx, eax
mov eax, dword [0x6f606c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xaa0a3c]
mov eax, dword [0xaa0a44]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004a174e
mov eax, dword [0xaa0a44]
add eax, 1
mov dword [0xaa0a44], eax
mov eax, dword [0xaa0a48]
add eax, 1
mov dword [0xaa0a48], eax
mov edx, dword [0xaa0a48]
mov eax, dword [0xaa0a38]
cmp edx, eax
setl al
test al, al
jne 0x4c1430
mov eax, dword [0xaa0a3c]
add eax, 1
mov dword [0xaa0a3c], eax
mov eax, dword [0xaa0a40]
add eax, 1
mov dword [0xaa0a40], eax
mov edx, dword [0xaa0a40]
mov eax, dword [0xaa0a30]
cmp edx, eax
setl al
test al, al
jne 0x4c140a
mov edx, dword [0x6f606c]
mov eax, dword [0xaa0a2c]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x4c1502
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004bc956
jmp 0x4bf778
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x4bf762
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x4c153e
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 0x4bf778
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x4bf765
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x4bf768
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x4bf76b
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x4bf76e
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x4bf771
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x4bf774
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x4c16c1
mov dword [ebp - 0x1c], 1
jmp 0x4c15cd
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa7aaa0]
mov dword [esp], eax
call fcn.004ab941
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x4c15b7
cmp byte [ebp - 0x9c], 0
je 0x4c1613
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x6f606c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x4c1613
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.004bc956
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.004ab941
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.004ab941
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004ab941
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004ab941
mov eax, dword [0x6f606c]
mov edx, dword [0xa7aea4]
mov byte [eax + 0x3c], dl
mov eax, dword [0xaa09d0]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004d3803
mov eax, dword [0xaa09d4]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004d3803
mov eax, dword [0xaa09c8]
test eax, eax
jne 0x4c16ae
mov dword [0x5832d8], 0xffffffff
jmp 0x4c16a0
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x5832d8]
test eax, eax
setne al
test al, al
jne 0x4c168f
mov eax, dword [0xaa09cc]
mov dword [esp], eax
call fcn.004d3adf
nop
jmp 0x4c1867
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x4c17fa
jmp 0x4c16da
nop
jmp 0x4c16da
nop
jmp 0x4c16da
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x4c0fb3
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.004d3c25
mov dword [ebp - 0x20], eax
mov edx, dword [0xaa09d4]
mov eax, dword [0xaa09d0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004b242f
mov eax, dword [0xaa09d4]
mov dword [esp], eax
call fcn.004d3b7c
mov edx, dword [0x6f606c]
mov eax, dword [0xaa09d8]
mov word [edx + 0x38], ax
mov edx, dword [0x6f606c]
mov eax, dword [0xaa09dc]
mov word [edx + 0x3a], ax
mov edx, dword [0x6f606c]
mov eax, dword [0xaa09e0]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x4c1783
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.004bc956
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 0x4c1758
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.004d3b7c
mov edx, dword [0xaa09d4]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004b242f
mov ecx, dword [0x6f606c]
mov edx, dword [0x6f6044]
mov eax, dword [0xaa09d4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x6f606c]
mov edx, dword [0x6f6044]
mov eax, dword [0xaa09d4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x4bf778
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x4bf777
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004accf9
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004ac535
mov eax, dword [0x6f606c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x4c184c
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.004bc956
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.004ac535
jmp 0x4bf778
nop
jmp 0x4c1867
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret