Function at 0x496c93
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 [0x5a628c]
test eax, eax
jne 0x49904b
mov eax, dword [0x55a2d8]
mov dword [0xa774a8], eax
mov dword [0x55a2d8], 1
call fcn.004ab401
mov dword [0xa774ac], eax
call fcn.004ab40d
mov dword [esp], eax
call fcn.004ab2c7
call fcn.004ab40d
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004aad0e
mov dword [0xa774b0], eax
mov eax, dword [0xa774b0]
cmp eax, 0xffffffff
jne 0x496d18
mov dword [esp], 0x204
call fcn.0048249c
call fcn.004ab40d
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004aad0e
mov dword [0xa774b4], eax
mov eax, dword [0xa774b4]
cmp eax, 0xffffffff
jne 0x496d50
mov dword [esp], 0x205
call fcn.0048249c
mov eax, dword [0x6ccb4c]
movzx eax, word [eax + 0x38]
cwde
mov dword [0xa774b8], eax
mov eax, dword [0x6ccb4c]
movzx eax, word [eax + 0x3a]
cwde
mov dword [0xa774bc], eax
mov eax, dword [0x6ccb4c]
movzx eax, byte [eax + 0x51]
movzx eax, al
mov dword [0xa774c0], eax
mov eax, dword [0x55a014]
mov dword [ebp - 0x74], eax
mov dword [0xa774c4], 0
mov eax, dword [0x6b66e4]
and eax, 0x40000000
test eax, eax
je 0x496dc1
mov eax, dword [0x6b66e4]
and eax, 0x200
test eax, eax
je 0x496dc1
mov dword [0x6b66e4], 0xfffffe00
mov dword [0xa774c4], 1
mov eax, dword [0x6ccb4c]
movzx eax, byte [eax + 0x3c]
movzx eax, al
mov dword [0xa51984], eax
mov eax, dword [0x6ccb4c]
mov byte [eax + 0x3c], 1
mov dword [ebp - 0x30], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00483bb6
mov dword [ebp - 0x78], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00483bb6
mov dword [ebp - 0x7c], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00483bb6
mov dword [ebp - 0x80], eax
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.00483bb6
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], 1
jmp 0x496e6e
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00483bb6
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax*4 + 0xa51580], edx
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x496e4a
mov dword [ebp - 0x1c], 1
jmp 0x496f37
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x40000000
test eax, eax
je 0x496eee
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6b62c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x496edd
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6b62c0]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6b62c0]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x20
mov dword [esp], eax
call sub.msvcrt.dll_memset
jmp 0x496eee
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6b62c0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x1000000
test eax, eax
jne 0x496f33
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0x6b62c0]
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 0x496e87
jmp 0x496f60
nop
jmp 0x496f60
nop
jmp 0x496f60
nop
jmp 0x496f60
nop
jmp 0x496f60
nop
jmp 0x496f60
nop
jmp 0x496f60
nop
jmp 0x496f60
nop
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [0xa51584]
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 0x49709e
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 0x496ffa
cmp dword [ebp - 0x20], 1
je 0x496ffa
mov eax, dword [0xa774c4]
test eax, eax
jne 0x496ffa
mov dword [ebp - 0x20], 0
add dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 8]
jle 0x496fdd
mov dword [ebp - 0x3c], 1
jmp 0x49709e
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa51580]
mov dword [eax + 4], 0
mov dword [ebp - 0x38], 1
jmp 0x497095
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 0x497039
cmp dword [ebp - 0x38], 0
je 0x49702a
mov eax, dword [0xa774c4]
test eax, eax
jne 0x49702a
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x38], 0
jmp 0x497095
cmp dword [ebp - 0x20], 1
jne 0x497039
mov dword [ebp - 0x20], 2
jmp 0x497095
cmp dword [ebp - 0x20], 2
je 0x498ebb
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 + 0xa51580]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004844e1
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa51580]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00483d1d
mov dword [ebp - 0x38], 0
add dword [ebp - 0x1c], 1
jmp 0x496f8f
cmp dword [ebp - 0x3c], 0
jne 0x498ebe
mov dword [ebp - 0x88], 0xffffffff
mov byte [ebp - 0x3d], 1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa51580]
mov eax, dword [eax + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa51580]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x3e], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x40000000
test eax, eax
jne 0x4975cf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x20000000
test eax, eax
jne 0x4975cf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x1ff
cmp eax, 0x20
jg 0x4975cf
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
cmp dword [ebp - 0x8c], 0
jne 0x497151
mov dword [ebp - 0x88], 0x30
jmp 0x49757f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
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 0x497188
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 + 0xa51580]
mov dword [esp], eax
call fcn.00496923
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x49735a
mov eax, dword [0xa51158]
mov edx, dword [0xa5115c]
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 0x4971e9
cmp edx, dword [ebp - 0x4c]
ja 0x4971e0
cmp eax, dword [ebp - 0x50]
jbe 0x4971e9
mov byte [ebp - 0x3d], 0
jmp 0x49877d
cmp dword [ebp - 0x24], 1
jne 0x49728c
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 0x497244
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 0x49722d
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 0x49720f
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x497266
mov byte [ebp - 0x3d], 0
jmp 0x49877d
cmp dword [ebp - 0x8c], 1
jne 0x497279
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x8c], 2
jne 0x49728c
mov dword [ebp - 0x88], 0x30
cmp dword [ebp - 0x24], 2
jne 0x497343
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 0x4972fb
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 0x4972e4
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 0x4972b2
mov eax, dword [ebp - 0x1c]
add eax, 2
cmp eax, dword [ebp - 0x8c]
jge 0x49731d
mov byte [ebp - 0x3d], 0
jmp 0x49877d
cmp dword [ebp - 0x8c], 1
jne 0x497330
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x497343
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 0x49757f
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x10000000
test eax, eax
je 0x49737d
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x4973a1
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 + 0x6b66e0]
and eax, 0x10000000
test eax, eax
jne 0x4973ed
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4973ed
cmp dword [ebp - 0x8c], 1
jne 0x4973e5
mov dword [ebp - 0x88], 0x30
jmp 0x49757f
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 0x497416
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x497416
mov byte [ebp - 0x3d], 0
jmp 0x49877d
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 0x49753b
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 0x497506
cmp dword [ebp - 0x24], 9
jg 0x497506
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 + 0x6b66e0]
and eax, 0x10000000
test eax, eax
je 0x4974c4
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x49750f
cmp edx, dword [ebp - 0x4c]
ja 0x4974bb
cmp eax, dword [ebp - 0x50]
jbe 0x49750f
mov byte [ebp - 0x3d], 0
jmp 0x49877d
cmp byte [ebp - 0x3e], 0
je 0x4974e8
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x54]
jb 0x49750f
cmp edx, dword [ebp - 0x54]
ja 0x4974df
cmp eax, dword [ebp - 0x58]
jbe 0x49750f
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x4c]
jb 0x49750f
cmp edx, dword [ebp - 0x4c]
ja 0x4974fd
cmp eax, dword [ebp - 0x50]
jbe 0x49750f
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov byte [ebp - 0x3d], 0
jmp 0x49877d
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 0x497443
cmp byte [ebp - 0x3e], 0
je 0x49756d
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 0x49757f
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 + 0x6b66e0]
and eax, 0x1000000
test eax, eax
jne 0x49877d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x1ff
sar eax, 3
mov edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6b62c0]
mov dword [esp + 8], edx
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
jmp 0x49877d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x40000000
test eax, eax
je 0x497637
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b62c0]
movzx eax, byte [eax + 0x20]
test al, al
je 0x497612
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b62c0]
mov eax, dword [eax + 4]
cmp eax, dword [ebp - 0x8c]
jge 0x497612
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa51580]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b62c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00483d1d
jmp 0x49877d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x40000000
test eax, eax
jne 0x4979dd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x20000000
test eax, eax
jne 0x4979dd
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4979dd
cmp dword [ebp - 0x8c], 0
jne 0x4976ac
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b62c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x49877d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa51580]
mov dword [esp], eax
call fcn.00496923
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x49775e
mov eax, dword [0xa51158]
mov edx, dword [0xa5115c]
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 0x4976ff
cmp edx, dword [ebp - 0x4c]
ja 0x4976f6
cmp eax, dword [ebp - 0x50]
jbe 0x4976ff
mov byte [ebp - 0x3d], 0
jmp 0x49877d
cmp dword [ebp - 0x24], 1
jne 0x497718
cmp dword [ebp - 0x8c], 1
jne 0x497718
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x497731
cmp dword [ebp - 0x8c], 1
jne 0x497731
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x497744
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6b62c0]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x49877d
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x10000000
test eax, eax
jne 0x4977c1
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4977c1
cmp dword [ebp - 0x8c], 1
jne 0x4977b9
mov dword [ebp - 0x88], 0x30
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b62c0]
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x49877d
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 0x4977ea
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x4977ea
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x8c]
sub eax, 1
mov dword [ebp - 0x1c], eax
jmp 0x497833
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 0x497822
cmp dword [ebp - 0x24], 9
jle 0x49782b
mov byte [ebp - 0x3d], 0
jmp 0x49877d
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 0x4977ff
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x10000000
test eax, eax
je 0x497876
cmp dword [ebp - 0x28], 0x13
jle 0x497926
cmp dword [ebp - 0x28], 0x14
jle 0x49786c
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov eax, dword [str.18446744073709551615]
mov dword [ebp - 0x44], eax
jmp 0x4978a7
cmp dword [ebp - 0x28], 0x12
jle 0x497929
cmp dword [ebp - 0x28], 0x13
jle 0x49788f
mov byte [ebp - 0x3d], 0
jmp 0x49877d
cmp byte [ebp - 0x3e], 0
je 0x49789f
mov eax, dword [str.9223372036854775808]
mov dword [ebp - 0x44], eax
jmp 0x4978a7
mov eax, dword [str.9223372036854775807]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa51580]
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], 0
jmp 0x497917
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 0x49792c
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 0x497913
mov byte [ebp - 0x3d], 0
jmp 0x49877d
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
setl al
test al, al
jne 0x4978c2
jmp 0x49792d
nop
jmp 0x49792d
nop
jmp 0x49792d
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa51580]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004844e1
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa51580]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00483d1d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x10000000
test eax, eax
je 0x4979ae
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6b62c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa51580]
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 0x49877d
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6b62c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa51580]
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 0x49877d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x20000000
test eax, eax
je 0x49877d
mov dword [0xa774c8], 0
mov dword [0xa774cc], 0
mov dword [0xa774d0], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [0xa774d4], 0
mov dword [0xa51560], 0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x497a59
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6b62c0]
mov eax, dword [0x589f78]
mov dword [edx], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x497a7b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b62c0]
fldz
fstp qword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x497ab2
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax*4 + 0x6b62c0]
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 0x497aca
mov dword [ebp - 0x88], 0x30
jmp 0x49877d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa51580]
mov dword [esp], eax
call fcn.00496923
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x497dcf
mov eax, dword [0xa51158]
mov edx, dword [0xa5115c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x24], 1
jne 0x497b18
cmp dword [ebp - 0x8c], 1
jne 0x497b18
mov dword [ebp - 0x88], 0x48
cmp dword [ebp - 0x24], 2
jne 0x497b31
cmp dword [ebp - 0x8c], 1
jne 0x497b31
mov dword [ebp - 0x88], 0x6f
cmp dword [ebp - 0x8c], 2
jne 0x497b44
mov dword [ebp - 0x88], 0x30
mov dword [0xa774d8], 0x7fffffff
mov dword [0xa774dc], 0
mov eax, dword [0xa774d8]
mov edx, dword [0xa774dc]
mov edx, eax
mov eax, 0
mov dword [0xa774d8], eax
mov dword [0xa774dc], edx
mov eax, dword [0xa774d8]
mov edx, dword [0xa774dc]
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 [0xa774d8], eax
mov dword [0xa774dc], edx
jmp 0x497ca6
mov eax, dword [0xa774d8]
mov edx, dword [0xa774dc]
sub dword [ebp - 0x70], eax
sbb dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x497c0e
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6b62c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b62c0]
fld dword [eax]
mov eax, dword [0xa774d8]
mov edx, dword [0xa774dc]
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 + 0x6b66e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x497c59
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6b62c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b62c0]
fld qword [eax]
mov eax, dword [0xa774d8]
mov edx, dword [0xa774dc]
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 + 0x6b66e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x497ca6
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6b62c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b62c0]
fld xword [eax]
mov eax, dword [0xa774d8]
mov edx, dword [0xa774dc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
mov eax, dword [0xa774d8]
mov edx, dword [0xa774dc]
mov ecx, 1
cmp edx, dword [ebp - 0x6c]
jb 0x497cca
cmp edx, dword [ebp - 0x6c]
ja 0x497cc5
cmp eax, dword [ebp - 0x70]
jb 0x497cca
mov ecx, 0
test cl, cl
jne 0x497bb2
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [0xa774d8], eax
mov dword [0xa774dc], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x497d2e
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6b62c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b62c0]
fld dword [eax]
mov eax, dword [0xa774d8]
mov edx, dword [0xa774dc]
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 + 0x6b66e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x497d79
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6b62c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b62c0]
fld qword [eax]
mov eax, dword [0xa774d8]
mov edx, dword [0xa774dc]
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 + 0x6b66e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x498779
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax*4 + 0x6b62c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b62c0]
fld xword [eax]
mov eax, dword [0xa774d8]
mov edx, dword [0xa774dc]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
fild qword [ebp - 0xa8]
faddp st(1)
fstp xword [ecx]
jmp 0x498779
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 0x497e08
cmp dword [ebp - 0x8c], 1
jne 0x497e00
mov dword [ebp - 0x88], 0x30
jmp 0x49877d
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 0x497e4f
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x49877c
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 0x497f12
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x497ef9
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 0x497e86
cmp dword [ebp - 0x24], 0x64
je 0x497e86
cmp dword [ebp - 0x24], 0x45
je 0x497e86
cmp dword [ebp - 0x24], 0x65
jne 0x497ea2
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x497e97
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x498028
cmp dword [ebp - 0x24], 0x2e
jne 0x497eb0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x497f13
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x497ec0
cmp dword [ebp - 0x24], 9
jle 0x497ec9
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov eax, dword [0xa774c8]
add eax, 1
mov dword [0xa774c8], eax
mov edx, dword [0xa51560]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa51160], al
mov eax, dword [0xa51560]
add eax, 1
mov dword [0xa51560], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x497e5a
jmp 0x498202
nop
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x497f37
mov dword [ebp - 0x88], 0x30
jmp 0x498202
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x49800f
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 0x497f72
cmp dword [ebp - 0x24], 0x64
je 0x497f72
cmp dword [ebp - 0x24], 0x45
je 0x497f72
cmp dword [ebp - 0x24], 0x65
jne 0x497f97
mov eax, dword [0xa51560]
test eax, eax
je 0x497f97
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x497f8c
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x498028
sub dword [ebp - 0x24], 0x30
cmp dword [ebp - 0x24], 0
js 0x497fa7
cmp dword [ebp - 0x24], 9
jle 0x497fb0
mov byte [ebp - 0x3d], 0
jmp 0x49877d
cmp dword [ebp - 0x24], 0
je 0x497fbd
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x28], 0
je 0x497fd0
mov eax, dword [0xa774d4]
add eax, 1
mov dword [0xa774d4], eax
mov eax, dword [0xa774cc]
add eax, 1
mov dword [0xa774cc], eax
mov eax, dword [0xa51560]
test eax, eax
jne 0x497fec
cmp dword [ebp - 0x24], 0
je 0x49800b
mov edx, dword [0xa51560]
mov eax, dword [ebp - 0x24]
add eax, 0x30
mov byte [edx + 0xa51160], al
mov eax, dword [0xa51560]
add eax, 1
mov dword [0xa51560], eax
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x8c]
setl al
test al, al
jne 0x497f46
jmp 0x498202
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x498065
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 0x49805c
cmp dword [ebp - 0x24], 0x64
jne 0x498065
mov byte [ebp - 0x3d], 0
jmp 0x49877d
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 0x498085
cmp dword [ebp - 0x24], 0x64
jne 0x498093
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 0x4980b0
mov dword [ebp - 0x88], 0x30
jmp 0x498202
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 0x4980f9
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x4980eb
mov dword [ebp - 0x88], 0x30
jmp 0x498202
mov dword [0xa774d0], 1
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x2b
jne 0x498120
mov eax, dword [ebp - 0x8c]
sub eax, 1
cmp eax, dword [ebp - 0x20]
jne 0x49811c
mov dword [ebp - 0x88], 0x30
jmp 0x498202
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 0x498149
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, dword [ebp - 0x8c]
jge 0x498149
mov byte [ebp - 0x3d], 0
jmp 0x49877d
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 0x4981f1
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 0x4981e8
cmp dword [ebp - 0x24], 9
jg 0x4981e8
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 0x4981f1
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
setge al
test al, al
jne 0x498173
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x1ff
cmp eax, 0x20
jne 0x498470
mov eax, dword [0xa774d0]
test eax, eax
je 0x49822d
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa774d4]
cmp eax, 1
jne 0x498255
mov eax, dword [0xa774cc]
cmp eax, 1
jne 0x498255
mov dword [0xa774cc], 0
mov dword [0xa774d4], 0
mov eax, dword [0xa774d4]
cmp eax, 0x2b
jle 0x498268
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov eax, dword [0xa774c8]
test eax, eax
jne 0x498284
mov edx, dword [0xa774cc]
mov eax, dword [0xa774d4]
cmp edx, eax
je 0x4983fe
mov eax, dword [0xa774c8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x49829c
mov eax, dword [0xa774d4]
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 0x4982b6
mov byte [ebp - 0x3d], 0
jmp 0x49877d
cmp dword [ebp - 0x1c], 0x27
jne 0x49832d
mov eax, dword [str.3402823]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa51560]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4982d9
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x49831d
mov eax, dword [ebp - 0x24]
add eax, 0xa51160
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x498300
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov eax, dword [ebp - 0x24]
add eax, 0xa51160
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x49832c
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 0x4982e2
jmp 0x49832d
nop
mov eax, dword [0xa774cc]
test eax, eax
je 0x498379
mov eax, dword [0xa774c8]
test eax, eax
je 0x49835a
mov edx, dword [0xa774cc]
mov eax, dword [0xa774c8]
add eax, edx
cmp eax, 8
jle 0x498379
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov edx, dword [0xa774cc]
mov eax, dword [0xa774d4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 8
jle 0x498379
mov byte [ebp - 0x3d], 0
jmp 0x49877d
cmp dword [ebp - 0x1c], 0xffffffd4
jge 0x498388
mov byte [ebp - 0x3d], 0
jmp 0x49877d
cmp dword [ebp - 0x1c], 0xffffffd4
jne 0x498402
mov eax, dword [str.1401298]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa51560]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x4983ab
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x4983ef
mov eax, dword [ebp - 0x24]
add eax, 0xa51160
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x4983d2
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov eax, dword [ebp - 0x24]
add eax, 0xa51160
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x498401
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 0x4983b4
jmp 0x498402
nop
jmp 0x498402
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa51580]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004844e1
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa51580]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00483d1d
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6b62c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa51580]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x576593
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x49877d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x1ff
cmp eax, 0x40
jne 0x4986ec
mov eax, dword [0xa774d0]
test eax, eax
je 0x49849b
neg dword [ebp - 0x68]
adc dword [ebp - 0x64], 0
neg dword [ebp - 0x64]
mov eax, dword [0xa774d4]
cmp eax, 1
jne 0x4984c3
mov eax, dword [0xa774cc]
cmp eax, 1
jne 0x4984c3
mov dword [0xa774cc], 0
mov dword [0xa774d4], 0
mov eax, dword [0xa774d4]
cmp eax, 0x142
jle 0x4984d8
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov eax, dword [0xa774c8]
test eax, eax
jne 0x4984f4
mov edx, dword [0xa774cc]
mov eax, dword [0xa774d4]
cmp edx, eax
je 0x49867a
mov eax, dword [0xa774c8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x49850c
mov eax, dword [0xa774d4]
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 0x498529
mov byte [ebp - 0x3d], 0
jmp 0x49877d
cmp dword [ebp - 0x1c], 0x135
jne 0x4985a3
mov eax, dword [str.17976931]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa51560]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 8
jle 0x49854f
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x24], 0
jmp 0x498593
mov eax, dword [ebp - 0x24]
add eax, 0xa51160
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jbe 0x498576
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov eax, dword [ebp - 0x24]
add eax, 0xa51160
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jb 0x4985a2
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 0x498558
jmp 0x4985a3
nop
mov eax, dword [0xa774cc]
test eax, eax
je 0x4985ef
mov eax, dword [0xa774c8]
test eax, eax
je 0x4985d0
mov edx, dword [0xa774cc]
mov eax, dword [0xa774c8]
add eax, edx
cmp eax, 0x10
jle 0x4985ef
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov edx, dword [0xa774cc]
mov eax, dword [0xa774d4]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 0x10
jle 0x4985ef
mov byte [ebp - 0x3d], 0
jmp 0x49877d
cmp dword [ebp - 0x1c], 0xfffffebd
jge 0x498601
mov byte [ebp - 0x3d], 0
jmp 0x49877d
cmp dword [ebp - 0x1c], 0xfffffebd
jne 0x49867e
mov eax, dword [str.4940656]
mov dword [ebp - 0x44], eax
mov eax, dword [0xa51560]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 7
jle 0x498627
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
jmp 0x49866b
mov eax, dword [ebp - 0x24]
add eax, 0xa51160
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
jae 0x49864e
mov byte [ebp - 0x3d], 0
jmp 0x49877d
mov eax, dword [ebp - 0x24]
add eax, 0xa51160
movzx edx, byte [eax]
mov eax, dword [ebp - 0x44]
movzx eax, byte [eax]
cmp dl, al
ja 0x49867d
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 0x498630
jmp 0x49867e
nop
jmp 0x49867e
nop
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa51580]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004844e1
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa51580]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00483d1d
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0x6b62c0]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa51580]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x576596
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
jmp 0x49877d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b66e0]
and eax, 0x1ff
cmp eax, 0x100
jne 0x49877d
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov edx, dword [eax*4 + 0xa51580]
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004844e1
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa51580]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00483d1d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0xa51580]
mov eax, dword [eax]
mov dword [esp + 8], 0xa774e0
mov dword [esp + 4], 0x576596
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
mov eax, dword [ebp - 0x34]
mov eax, dword [eax*4 + 0x6b62c0]
fld qword [0xa774e0]
fstp xword [eax]
jmp 0x49877d
nop
jmp 0x49877d
nop
cmp byte [ebp - 0x3d], 0
je 0x498ec1
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00483d1d
jmp 0x49879c
nop
mov dword [0xa774e8], 0
jmp 0x4987a9
nop
mov eax, dword [0x6ccb4c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x4989de
mov dword [ebp - 0x1c], 1
mov eax, dword [0x6ccb4c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4987ec
mov eax, dword [0x6ccb4c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4987ec
mov eax, dword [0x6ccb4c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x498826
call fcn.00477deb
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 0x498826
mov dword [ebp - 0x1c], 0
mov eax, dword [0xa774e8]
cmp dword [ebp - 0x1c], eax
je 0x4989de
mov eax, dword [0xa774e8]
xor eax, 1
mov dword [0xa774e8], eax
mov eax, dword [0x6ccb4c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa774ec], eax
mov eax, dword [0x6ccb4c]
mov byte [eax + 0x50], 1
mov edx, dword [0x6bc170]
mov eax, dword [0x6ccb4c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa774f0], eax
mov edx, dword [0x6bc174]
mov eax, dword [0x6ccb4c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa774f4], eax
mov eax, dword [0xa774f4]
test eax, eax
jne 0x4988a2
mov dword [0xa774f4], 1
mov eax, dword [0xa774f4]
mov dword [0xa774f8], eax
mov eax, dword [0x6ccb4c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x4988d7
mov eax, dword [0x6ccb4c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x4988d7
mov eax, dword [0x6ccb4c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x4988e1
mov dword [0xa774f8], 1
mov eax, dword [0x6ccb4c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa774f0]
imul eax, edx
mov dword [0xa774fc], eax
mov dword [0xa77500], 0
jmp 0x4989b8
mov eax, dword [0x6ccb4c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa774f4]
imul eax, edx
mov dword [0xa77504], eax
mov dword [0xa77508], 0
jmp 0x49898a
mov edx, dword [0xa774fc]
mov eax, dword [0xa77504]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004920a8
mov edx, eax
mov eax, dword [0x6ccb4c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa774fc]
mov eax, dword [0xa77504]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00478f36
mov eax, dword [0xa77504]
add eax, 1
mov dword [0xa77504], eax
mov eax, dword [0xa77508]
add eax, 1
mov dword [0xa77508], eax
mov edx, dword [0xa77508]
mov eax, dword [0xa774f8]
cmp edx, eax
setl al
test al, al
jne 0x498930
mov eax, dword [0xa774fc]
add eax, 1
mov dword [0xa774fc], eax
mov eax, dword [0xa77500]
add eax, 1
mov dword [0xa77500], eax
mov edx, dword [0xa77500]
mov eax, dword [0xa774f0]
cmp edx, eax
setl al
test al, al
jne 0x49890a
mov edx, dword [0x6ccb4c]
mov eax, dword [0xa774ec]
mov byte [edx + 0x50], al
cmp dword [ebp - 0x30], 0
je 0x498a0d
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.00483d1d
jmp 0x498ae3
mov eax, dword [0x6ccb4c]
movzx eax, byte [eax + 0x12]
test al, al
je 0x498a92
mov dword [esp], 0x56f1a6
call fcn.004839a2
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00483d1d
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 0x498a7f
cmp dword [ebp - 0x2c], 0xa
jne 0x498a58
mov dword [ebp - 0x2c], 0xd
mov dword [esp], 0x57659a
call fcn.004839a2
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00483d1d
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov byte [edx], al
jmp 0x498ad0
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x498ad0
mov dword [esp], 0xa
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
call fcn.00485df6
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00483d1d
mov dword [0x6bbe58], 1
call fcn.00448017
mov dword [0x6bbe58], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call fcn.004d68d5
movzx eax, byte [0x5a6299]
test al, al
jne 0x49904e
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
cmp eax, 1
jne 0x4987a8
mov eax, dword [0x6ccb4c]
movzx eax, byte [eax + 0x11]
test al, al
jne 0x498cc6
mov eax, dword [0xa774e8]
test eax, eax
je 0x498cc6
mov dword [0xa774e8], 0
mov eax, dword [0x6ccb4c]
movzx eax, byte [eax + 0x50]
movzx eax, al
mov dword [0xa7750c], eax
mov eax, dword [0x6ccb4c]
mov byte [eax + 0x50], 1
mov edx, dword [0x6bc170]
mov eax, dword [0x6ccb4c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa77510], eax
mov edx, dword [0x6bc174]
mov eax, dword [0x6ccb4c]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa77514], eax
mov eax, dword [0xa77514]
test eax, eax
jne 0x498b8a
mov dword [0xa77514], 1
mov eax, dword [0xa77514]
mov dword [0xa77518], eax
mov eax, dword [0x6ccb4c]
mov eax, dword [eax + 0x30]
cmp eax, 0x1f
ja 0x498bbf
mov eax, dword [0x6ccb4c]
movzx eax, word [eax + 0x20]
cmp ax, 0x100
je 0x498bbf
mov eax, dword [0x6ccb4c]
movzx eax, word [eax + 0x20]
cmp ax, 0x20
jne 0x498bc9
mov dword [0xa77518], 1
mov eax, dword [0x6ccb4c]
movzx eax, word [eax + 0x3a]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa77510]
imul eax, edx
mov dword [0xa7751c], eax
mov dword [0xa77520], 0
jmp 0x498ca0
mov eax, dword [0x6ccb4c]
movzx eax, word [eax + 0x38]
cwde
lea edx, [eax - 1]
mov eax, dword [0xa77514]
imul eax, edx
mov dword [0xa77524], eax
mov dword [0xa77528], 0
jmp 0x498c72
mov edx, dword [0xa7751c]
mov eax, dword [0xa77524]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004920a8
mov edx, eax
mov eax, dword [0x6ccb4c]
mov eax, dword [eax + 0x24]
mov ecx, edx
xor ecx, eax
mov edx, dword [0xa7751c]
mov eax, dword [0xa77524]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00478f36
mov eax, dword [0xa77524]
add eax, 1
mov dword [0xa77524], eax
mov eax, dword [0xa77528]
add eax, 1
mov dword [0xa77528], eax
mov edx, dword [0xa77528]
mov eax, dword [0xa77518]
cmp edx, eax
setl al
test al, al
jne 0x498c18
mov eax, dword [0xa7751c]
add eax, 1
mov dword [0xa7751c], eax
mov eax, dword [0xa77520]
add eax, 1
mov dword [0xa77520], eax
mov edx, dword [0xa77520]
mov eax, dword [0xa77510]
cmp edx, eax
setl al
test al, al
jne 0x498bf2
mov edx, dword [0x6ccb4c]
mov eax, dword [0xa7750c]
mov byte [edx + 0x50], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 7
jne 0x498cea
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0049413e
jmp 0x496f60
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xa
je 0x496f4a
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 9
jne 0x498d26
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 0x496f60
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xb
je 0x496f4d
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xc
je 0x496f50
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x496f53
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1d
je 0x496f56
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1e
je 0x496f59
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x496f5c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 0xd
jne 0x498ea9
mov dword [ebp - 0x1c], 1
jmp 0x498db5
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax*4 + 0xa51580]
mov dword [esp], eax
call fcn.00483129
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 8]
setle al
test al, al
jne 0x498d9f
cmp byte [ebp - 0x9c], 0
je 0x498dfb
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], 0
mov eax, dword [0x6ccb4c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x498dfb
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.0049413e
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call fcn.00483129
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.00483129
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00483129
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.00483129
mov eax, dword [0x6ccb4c]
mov edx, dword [0xa51984]
mov byte [eax + 0x3c], dl
mov eax, dword [0xa774b0]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004aafeb
mov eax, dword [0xa774b4]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004aafeb
mov eax, dword [0xa774a8]
test eax, eax
jne 0x498e96
mov dword [0x55a2d8], 0xffffffff
jmp 0x498e88
mov dword [esp], 1
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x55a2d8]
test eax, eax
setne al
test al, al
jne 0x498e77
mov eax, dword [0xa774ac]
mov dword [esp], eax
call fcn.004ab2c7
nop
jmp 0x49904f
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp al, 8
jne 0x498fe2
jmp 0x498ec2
nop
jmp 0x498ec2
nop
jmp 0x498ec2
nop
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
test eax, eax
je 0x49879b
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.004ab40d
mov dword [ebp - 0x20], eax
mov edx, dword [0xa774b4]
mov eax, dword [0xa774b0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00489c17
mov eax, dword [0xa774b4]
mov dword [esp], eax
call fcn.004ab364
mov edx, dword [0x6ccb4c]
mov eax, dword [0xa774b8]
mov word [edx + 0x38], ax
mov edx, dword [0x6ccb4c]
mov eax, dword [0xa774bc]
mov word [edx + 0x3a], ax
mov edx, dword [0x6ccb4c]
mov eax, dword [0xa774c0]
mov byte [edx + 0x51], al
mov dword [ebp - 0x1c], 0
jmp 0x498f6b
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.0049413e
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 0x498f40
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call fcn.004ab364
mov edx, dword [0xa774b4]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00489c17
mov ecx, dword [0x6ccb4c]
mov edx, dword [0x6ccb24]
mov eax, dword [0xa774b4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x38]
mov word [ecx + 0x38], ax
mov ecx, dword [0x6ccb4c]
mov edx, dword [0x6ccb24]
mov eax, dword [0xa774b4]
imul eax, eax, 0xffffff50
add eax, edx
movzx eax, word [eax + 0x3a]
mov word [ecx + 0x3a], ax
jmp 0x496f60
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
cmp eax, 0xfe
jg 0x496f5f
mov eax, dword [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.004844e1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.00483d1d
mov eax, dword [0x6ccb4c]
movzx eax, byte [eax + 0x12]
test al, al
jne 0x499034
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0049413e
mov eax, dword [ebp - 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.00483d1d
jmp 0x496f60
nop
jmp 0x49904f
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret