Function at 0x4726d0
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x1c10
call fcn.004bc400
mov ecx, dword [ebp + 8]
mov dword [esp + 0x3ac], ecx
mov eax, ecx
mov dword [esp + 0x3b0], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x3b4], eax
mov byte [esp + 0x1487], 0
call fcn.00489b90
mov eax, esp
lea ecx, [esp + 0x145d]
mov dword [eax], ecx
lea ecx, [esp + 0x145e]
call fcn.00477930
sub esp, 4
jmp 0x472728
lea eax, [esp + 0x145e]
mov dword [esp + 0x1490], eax
mov eax, dword [esp + 0x1490]
mov dword [esp + 0x1b14], eax
mov eax, dword [esp + 0x1b14]
mov dword [esp + 0x3a8], eax
test byte [eax], 1
jne 0x47451c
mov eax, dword [esp + 0x3a8]
add eax, 2
mov dword [esp + 0x1b1c], eax
mov dword [esp + 0x1b18], 0
mov eax, dword [esp + 0x1b18]
cmp eax, 0xc
jae 0x474518
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x39c], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x39c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3a0], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x3a0]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3a4], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x3a4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x472d50
mov eax, dword [esp + 0x1b1c]
mov ecx, dword [esp + 0x1b18]
movzx eax, word [eax + ecx*2]
mov dword [esp + 0x38c], eax
mov dword [esp + 0x1c04], 0x404f8000
mov dword [esp + 0x1c00], 0
xor eax, eax
je 0x472829
add dl, dh
movups xmm0, xmmword [esp + 0x1c00]
movsd xmm0, qword [esp + 0x1c00]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1a0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1bf8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x390], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x390]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x398], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x394], eax
call fcn.004347c0
mov ecx, dword [esp + 0x394]
mov dl, al
mov eax, dword [esp + 0x398]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x472955
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x380], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x380]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x384], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x384]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x388], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x388]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x472953
mov dword [esp + 0x1c0c], 6
jmp 0x472a80
jmp 0x472955
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x374], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x374]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x37c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x378], eax
call fcn.004347c0
mov ecx, dword [esp + 0x378]
mov dl, al
mov eax, dword [esp + 0x37c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x472a7e
movsd xmm0, qword [esp + 0x1bf8]
movsd qword [esp + 0x368], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x360], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x360]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x370], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x364], eax
call fcn.004347c0
mov ecx, dword [esp + 0x364]
movsd xmm0, qword [esp + 0x368]
mov dl, al
mov eax, dword [esp + 0x370]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb1b0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1c0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1c0c], eax
jmp 0x472a80
ud2
mov eax, dword [esp + 0x38c]
mov ecx, dword [esp + 0x1c0c]
add eax, ecx
mov dword [esp + 0x34c], eax
mov eax, dword [esp + 0x1b1c]
mov ecx, dword [esp + 0x1b18]
movzx eax, word [eax + ecx*2]
mov dword [esp + 0x350], eax
mov dword [esp + 0x1bec], 0x404f8000
mov dword [esp + 0x1be8], 0
xor eax, eax
je 0x472acb
add dl, dh
movups xmm0, xmmword [esp + 0x1be8]
movsd xmm0, qword [esp + 0x1be8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1a0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1be0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x354], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x354]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x35c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x358], eax
call fcn.004347c0
mov ecx, dword [esp + 0x358]
mov dl, al
mov eax, dword [esp + 0x35c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x472bf7
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x340], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x340]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x344], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x344]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x348], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x348]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x472bf5
mov dword [esp + 0x1bf4], 6
jmp 0x472d22
jmp 0x472bf7
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x334], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x334]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x33c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x338], eax
call fcn.004347c0
mov ecx, dword [esp + 0x338]
mov dl, al
mov eax, dword [esp + 0x33c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x472d20
movsd xmm0, qword [esp + 0x1be0]
movsd qword [esp + 0x328], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x320], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x320]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x330], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x324], eax
call fcn.004347c0
mov ecx, dword [esp + 0x324]
movsd xmm0, qword [esp + 0x328]
mov dl, al
mov eax, dword [esp + 0x330]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb1b0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1c0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1bf4], eax
jmp 0x472d22
ud2
mov eax, dword [esp + 0x34c]
mov ecx, dword [esp + 0x350]
and ecx, dword [esp + 0x1bf4]
shl ecx, 1
sub eax, ecx
mov dx, ax
mov eax, dword [esp + 0x1b1c]
mov ecx, dword [esp + 0x1b18]
mov word [eax + ecx*2], dx
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x314], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x314]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x31c], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 5
mov dword [esp + 0x318], eax
call fcn.004347c0
mov ecx, dword [esp + 0x318]
mov dl, al
mov eax, dword [esp + 0x31c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x473f39
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x308], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x308]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x30c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x30c]
movsx ecx, cl
shl ecx, 2
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x310], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x310]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x473392
mov eax, dword [esp + 0x1b1c]
mov ecx, dword [esp + 0x1b18]
movzx eax, word [eax + ecx*2]
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x1bd4], 0x40500000
mov dword [esp + 0x1bd0], 0
xor eax, eax
je 0x472e6b
add dl, dh
movups xmm0, xmmword [esp + 0x1bd0]
movsd xmm0, qword [esp + 0x1bd0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1a0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1bc8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2fc], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2fc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x304], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x300], eax
call fcn.004347c0
mov ecx, dword [esp + 0x300]
mov dl, al
mov eax, dword [esp + 0x304]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x472f97
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2ec], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2ec]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2f0], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2f0]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2f4], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2f4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x472f95
mov dword [esp + 0x1bdc], 6
jmp 0x4730c2
jmp 0x472f97
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2e0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2e8], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2e4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2e4]
mov dl, al
mov eax, dword [esp + 0x2e8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4730c0
movsd xmm0, qword [esp + 0x1bc8]
movsd qword [esp + 0x2d0], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2c8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2dc], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x2cc], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2cc]
movsd xmm0, qword [esp + 0x2d0]
mov dl, al
mov eax, dword [esp + 0x2dc]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb1b0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1c0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1bdc], eax
jmp 0x4730c2
ud2
mov eax, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x1bdc]
add eax, ecx
mov dword [esp + 0x2b4], eax
mov eax, dword [esp + 0x1b1c]
mov ecx, dword [esp + 0x1b18]
movzx eax, word [eax + ecx*2]
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x1bbc], 0x40500000
mov dword [esp + 0x1bb8], 0
xor eax, eax
je 0x47310d
add dl, dh
movups xmm0, xmmword [esp + 0x1bb8]
movsd xmm0, qword [esp + 0x1bb8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1a0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1bb0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2bc], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2bc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2c4], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2c0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2c0]
mov dl, al
mov eax, dword [esp + 0x2c4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x473239
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2a8], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2ac], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2ac]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2b0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2b0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x473237
mov dword [esp + 0x1bc4], 6
jmp 0x473364
jmp 0x473239
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x29c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x29c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2a4], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2a0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2a0]
mov dl, al
mov eax, dword [esp + 0x2a4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x473362
movsd xmm0, qword [esp + 0x1bb0]
movsd qword [esp + 0x290], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x288], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x288]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x298], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x28c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x28c]
movsd xmm0, qword [esp + 0x290]
mov dl, al
mov eax, dword [esp + 0x298]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb1b0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1c0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1bc4], eax
jmp 0x473364
ud2
mov eax, dword [esp + 0x2b4]
mov ecx, dword [esp + 0x2b8]
and ecx, dword [esp + 0x1bc4]
shl ecx, 1
sub eax, ecx
mov dx, ax
mov eax, dword [esp + 0x1b1c]
mov ecx, dword [esp + 0x1b18]
mov word [eax + ecx*2], dx
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x27c], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x27c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x280], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x280]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x284], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x284]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x47395b
mov eax, dword [esp + 0x1b1c]
mov ecx, dword [esp + 0x1b18]
movzx eax, word [eax + ecx*2]
mov dword [esp + 0x26c], eax
mov dword [esp + 0x1ba4], 0x40504000
mov dword [esp + 0x1ba0], 0
xor eax, eax
je 0x473434
add dl, dh
movups xmm0, xmmword [esp + 0x1ba0]
movsd xmm0, qword [esp + 0x1ba0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1a0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1b98], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x270], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x270]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x278], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x274], eax
call fcn.004347c0
mov ecx, dword [esp + 0x274]
mov dl, al
mov eax, dword [esp + 0x278]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x473560
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x260], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x260]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x264], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x264]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x268], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x268]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x47355e
mov dword [esp + 0x1bac], 6
jmp 0x47368b
jmp 0x473560
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x254], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x254]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x25c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x258], eax
call fcn.004347c0
mov ecx, dword [esp + 0x258]
mov dl, al
mov eax, dword [esp + 0x25c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x473689
movsd xmm0, qword [esp + 0x1b98]
movsd qword [esp + 0x248], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x240], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x240]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x250], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x244], eax
call fcn.004347c0
mov ecx, dword [esp + 0x244]
movsd xmm0, qword [esp + 0x248]
mov dl, al
mov eax, dword [esp + 0x250]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb1b0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1c0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1bac], eax
jmp 0x47368b
ud2
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x1bac]
add eax, ecx
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0x1b1c]
mov ecx, dword [esp + 0x1b18]
movzx eax, word [eax + ecx*2]
mov dword [esp + 0x230], eax
mov dword [esp + 0x1b8c], 0x40504000
mov dword [esp + 0x1b88], 0
xor eax, eax
je 0x4736d6
add dl, dh
movups xmm0, xmmword [esp + 0x1b88]
movsd xmm0, qword [esp + 0x1b88]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1a0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1b80], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x234], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x234]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x23c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x238], eax
call fcn.004347c0
mov ecx, dword [esp + 0x238]
mov dl, al
mov eax, dword [esp + 0x23c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x473802
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x220], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x220]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x224], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x224]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x228], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x228]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x473800
mov dword [esp + 0x1b94], 6
jmp 0x47392d
jmp 0x473802
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x214], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x214]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x21c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x218], eax
call fcn.004347c0
mov ecx, dword [esp + 0x218]
mov dl, al
mov eax, dword [esp + 0x21c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x47392b
movsd xmm0, qword [esp + 0x1b80]
movsd qword [esp + 0x208], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x200], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x200]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x210], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x204], eax
call fcn.004347c0
mov ecx, dword [esp + 0x204]
movsd xmm0, qword [esp + 0x208]
mov dl, al
mov eax, dword [esp + 0x210]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb1b0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1c0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1b94], eax
jmp 0x47392d
ud2
mov eax, dword [esp + 0x22c]
mov ecx, dword [esp + 0x230]
and ecx, dword [esp + 0x1b94]
shl ecx, 1
sub eax, ecx
mov dx, ax
mov eax, dword [esp + 0x1b1c]
mov ecx, dword [esp + 0x1b18]
mov word [eax + ecx*2], dx
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1f4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1fc], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x1f8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1f8]
mov dl, al
mov eax, dword [esp + 0x1fc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x473f37
mov eax, dword [esp + 0x1b1c]
mov ecx, dword [esp + 0x1b18]
movzx eax, word [eax + ecx*2]
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x1b18]
add eax, 0x3e
cvtsi2sd xmm0, eax
movsd qword [esp + 0x1b70], xmm0
xor eax, eax
je 0x473a09
add dl, dh
movups xmm0, xmmword [esp + 0x1b70]
movsd xmm0, qword [esp + 0x1b70]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1a0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1b68], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1e8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f0], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1ec], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1ec]
mov dl, al
mov eax, dword [esp + 0x1f0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x473b35
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1d8], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1d8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1dc], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1dc]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1e0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1e0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x473b33
mov dword [esp + 0x1b7c], 6
jmp 0x473c60
jmp 0x473b35
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1cc], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1cc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d4], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1d0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1d0]
mov dl, al
mov eax, dword [esp + 0x1d4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x473c5e
movsd xmm0, qword [esp + 0x1b68]
movsd qword [esp + 0x1c0], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1b8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c8], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1bc], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1bc]
movsd xmm0, qword [esp + 0x1c0]
mov dl, al
mov eax, dword [esp + 0x1c8]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb1b0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1c0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1b7c], eax
jmp 0x473c60
ud2
mov eax, dword [esp + 0x1e4]
movzx ecx, word [esp + 0x1b7c]
add eax, ecx
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x1b1c]
mov ecx, dword [esp + 0x1b18]
movzx eax, word [eax + ecx*2]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x1b18]
add eax, 0x3e
cvtsi2sd xmm0, eax
movsd qword [esp + 0x1b58], xmm0
xor eax, eax
je 0x473cad
add dl, dh
movups xmm0, xmmword [esp + 0x1b58]
movsd xmm0, qword [esp + 0x1b58]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1a0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1b50], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1ac], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1ac]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b4], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1b0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1b0]
mov dl, al
mov eax, dword [esp + 0x1b4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x473dd9
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x198], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x198]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x19c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x19c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1a0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1a0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x473dd7
mov dword [esp + 0x1b64], 6
jmp 0x473f04
jmp 0x473dd9
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x18c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x18c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x194], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x190], eax
call fcn.004347c0
mov ecx, dword [esp + 0x190]
mov dl, al
mov eax, dword [esp + 0x194]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x473f02
movsd xmm0, qword [esp + 0x1b50]
movsd qword [esp + 0x180], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x178], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x178]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x188], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x17c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x17c]
movsd xmm0, qword [esp + 0x180]
mov dl, al
mov eax, dword [esp + 0x188]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb1b0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1c0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1b64], eax
jmp 0x473f04
ud2
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1a8]
mov edx, dword [esp + 0x1b64]
movzx edx, dx
and ecx, edx
shl ecx, 1
sub eax, ecx
mov dx, ax
mov eax, dword [esp + 0x1b1c]
mov ecx, dword [esp + 0x1b18]
mov word [eax + ecx*2], dx
jmp 0x473f39
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x16c], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x16c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x170], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x170]
movsx ecx, cl
imul ecx, ecx, 6
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x174], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x174]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x474502
mov eax, dword [esp + 0x1b1c]
mov ecx, dword [esp + 0x1b18]
movzx eax, word [eax + ecx*2]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x1b44], 0x40508000
mov dword [esp + 0x1b40], 0
xor eax, eax
je 0x473fdb
add dl, dh
movups xmm0, xmmword [esp + 0x1b40]
movsd xmm0, qword [esp + 0x1b40]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1a0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1b38], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x160], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x160]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x168], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x164], eax
call fcn.004347c0
mov ecx, dword [esp + 0x164]
mov dl, al
mov eax, dword [esp + 0x168]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x474107
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x150], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x150]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x154], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x154]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x158], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x158]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x474105
mov dword [esp + 0x1b4c], 6
jmp 0x474232
jmp 0x474107
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x144], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x144]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x14c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x148], eax
call fcn.004347c0
mov ecx, dword [esp + 0x148]
mov dl, al
mov eax, dword [esp + 0x14c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x474230
movsd xmm0, qword [esp + 0x1b38]
movsd qword [esp + 0x138], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x130], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x130]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x140], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x134], eax
call fcn.004347c0
mov ecx, dword [esp + 0x134]
movsd xmm0, qword [esp + 0x138]
mov dl, al
mov eax, dword [esp + 0x140]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb1b0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1c0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1b4c], eax
jmp 0x474232
ud2
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x1b4c]
add eax, ecx
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x1b1c]
mov ecx, dword [esp + 0x1b18]
movzx eax, word [eax + ecx*2]
mov dword [esp + 0x120], eax
mov dword [esp + 0x1b2c], 0x40508000
mov dword [esp + 0x1b28], 0
xor eax, eax
je 0x47427d
add dl, dh
movups xmm0, xmmword [esp + 0x1b28]
movsd xmm0, qword [esp + 0x1b28]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1a0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1b20], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x124], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x124]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x12c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x128], eax
call fcn.004347c0
mov ecx, dword [esp + 0x128]
mov dl, al
mov eax, dword [esp + 0x12c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4743a9
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x110], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x110]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x114], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x114]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x118], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x118]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4743a7
mov dword [esp + 0x1b34], 6
jmp 0x4744d4
jmp 0x4743a9
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x104], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x104]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x10c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x108], eax
call fcn.004347c0
mov ecx, dword [esp + 0x108]
mov dl, al
mov eax, dword [esp + 0x10c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4744d2
movsd xmm0, qword [esp + 0x1b20]
movsd qword [esp + 0xf8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0xf0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0xf0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x100], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0xf4], eax
call fcn.004347c0
mov ecx, dword [esp + 0xf4]
movsd xmm0, qword [esp + 0xf8]
mov dl, al
mov eax, dword [esp + 0x100]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb1b0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1c0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1b34], eax
jmp 0x4744d4
ud2
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x120]
and ecx, dword [esp + 0x1b34]
shl ecx, 1
sub eax, ecx
mov dx, ax
mov eax, dword [esp + 0x1b1c]
mov ecx, dword [esp + 0x1b18]
mov word [eax + ecx*2], dx
mov eax, dword [esp + 0x1b18]
add eax, 1
mov dword [esp + 0x1b18], eax
jmp 0x472777
jmp 0x47451a
jmp 0x47451c
mov eax, dword [esp + 0x3a8]
mov byte [eax], 1
add eax, 2
mov dword [esp + 0xec], eax
jmp 0x474532
mov eax, dword [esp + 0xec]
mov dword [esp + 0x1478], eax
lea eax, [esp + 0x147f]
mov dword [esp + 0x148c], eax
lea eax, [esp + 0x1478]
mov dword [esp + 0x1488], eax
lea eax, [esp + 0x1504]
mov dword [esp + 0x150c], eax
mov eax, dword [esp + 0x150c]
mov dword [esp + 0x1568], 0x30
mov ecx, dword [esp + 0x1568]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x1564], ecx
mov ecx, dword [esp + 0x1564]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x1504]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x14f8]
mov dword [esp + 0x151c], ecx
mov dword [esp + 0x1518], eax
mov eax, dword [esp + 0x151c]
mov ecx, dword [esp + 0x1518]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1518]
mov dword [esp + 0x156c], ecx
mov ecx, dword [esp + 0x156c]
mov edx, dword [esp + 0x156c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1510], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x1514], ecx
mov ecx, dword [esp + 0x1518]
add ecx, dword [esp + 0x1510]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1514]
mov dword [eax + 8], ecx
lea eax, [esp + 0x14f8]
mov dword [esp + 0x1520], eax
mov ecx, dword [esp + 0x1520]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x4747cf
lea eax, [esp + 0x14f8]
mov dword [esp + 0x1524], eax
mov eax, dword [esp + 0x1524]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x14f4], eax
mov eax, dword [esp + 0x14f4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x14f4], ecx
cmp eax, 0
je 0x4747cd
mov eax, dword [esp + 0x14f4]
lea ecx, [esp + 0x14f8]
mov dword [esp + 0x153c], ecx
mov dword [esp + 0x1538], eax
mov eax, dword [esp + 0x153c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1538]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x1544], 0x6e6ee7f8
mov dword [esp + 0x1540], 0xecfdccb8
mov eax, dword [esp + 0x1544]
mov dword [esp + 0x1534], ecx
mov dword [esp + 0x1530], eax
mov eax, dword [esp + 0x1530]
mov dword [esp + 0x152c], eax
mov eax, dword [esp + 0x1534]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x1534], ecx
mov al, byte [eax]
mov byte [esp + 0x152b], al
cmp byte [esp + 0x152b], 0
je 0x4747a0
mov ecx, dword [esp + 0x152c]
mov al, byte [esp + 0x152b]
mov dword [esp + 0x1574], ecx
mov byte [esp + 0x1573], al
mov eax, dword [esp + 0x1574]
mov dword [esp + 0xe8], eax
movsx eax, byte [esp + 0x1573]
cmp eax, 0x41
jl 0x47476f
movsx eax, byte [esp + 0x1573]
cmp eax, 0x5a
jg 0x47476f
movsx eax, byte [esp + 0x1573]
or eax, 0x20
mov dword [esp + 0xe4], eax
jmp 0x47477e
movsx eax, byte [esp + 0x1573]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xe4]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x152c], eax
jmp 0x4746ed
mov eax, dword [esp + 0x152c]
mov dword [esp + 0x154c], 0x6e6ee7f8
mov dword [esp + 0x1548], 0xecfdccb8
mov ecx, dword [esp + 0x1548]
cmp eax, ecx
je 0x4747fd
jmp 0x47465d
jmp 0x4747cf
lea eax, [esp + 0x1504]
mov dword [esp + 0x1560], eax
mov eax, dword [esp + 0x1560]
mov ecx, dword [eax]
mov dword [esp + 0x1578], ecx
mov ecx, dword [esp + 0x1578]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x47459c
mov eax, dword [esp + 0x14f4]
lea ecx, [esp + 0x14f8]
mov dword [esp + 0x155c], ecx
mov dword [esp + 0x1558], eax
mov eax, dword [esp + 0x155c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x1c]
add ecx, edx
mov dword [esp + 0x1554], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x24]
add ecx, edx
mov dword [esp + 0x1550], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x1554]
mov edx, dword [esp + 0x1550]
mov esi, dword [esp + 0x1558]
movzx edx, word [edx + esi*2]
mov ecx, dword [ecx + edx*4]
add eax, ecx
mov dword [esp + 0x1508], eax
mov eax, dword [esp + 0x1508]
mov ecx, dword [esp + 0x1488]
mov edx, dword [ecx]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
mov dword [esp + 0xe0], eax
jmp 0x47488b
jmp 0x47488d
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x1480], eax
cmp dword [esp + 0x1480], 0
jne 0x4748ba
jmp 0x4748ba
mov eax, esp
lea ecx, [esp + 0x1440]
mov dword [eax], ecx
lea ecx, [esp + 0x1441]
call fcn.00477980
sub esp, 4
jmp 0x4748d6
lea eax, [esp + 0x144f]
mov dword [esp + 0x149c], eax
lea eax, [esp + 0x1480]
mov dword [esp + 0x1498], eax
lea eax, [esp + 0x1441]
mov dword [esp + 0x1494], eax
lea eax, [esp + 0x158c]
mov dword [esp + 0x1594], eax
mov eax, dword [esp + 0x1594]
mov dword [esp + 0x15f0], 0x30
mov ecx, dword [esp + 0x15f0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x15ec], ecx
mov ecx, dword [esp + 0x15ec]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x158c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1580]
mov dword [esp + 0x15a4], ecx
mov dword [esp + 0x15a0], eax
mov eax, dword [esp + 0x15a4]
mov ecx, dword [esp + 0x15a0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x15a0]
mov dword [esp + 0x15f4], ecx
mov ecx, dword [esp + 0x15f4]
mov edx, dword [esp + 0x15f4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1598], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x159c], ecx
mov ecx, dword [esp + 0x15a0]
add ecx, dword [esp + 0x1598]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x159c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1580]
mov dword [esp + 0x15a8], eax
mov ecx, dword [esp + 0x15a8]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x474b73
lea eax, [esp + 0x1580]
mov dword [esp + 0x15ac], eax
mov eax, dword [esp + 0x15ac]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x157c], eax
mov eax, dword [esp + 0x157c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x157c], ecx
cmp eax, 0
je 0x474b71
mov eax, dword [esp + 0x157c]
lea ecx, [esp + 0x1580]
mov dword [esp + 0x15c4], ecx
mov dword [esp + 0x15c0], eax
mov eax, dword [esp + 0x15c4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x15c0]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x15cc], 0xa90a9a5e
mov dword [esp + 0x15c8], 0xd0b3ecce
mov eax, dword [esp + 0x15cc]
mov dword [esp + 0x15bc], ecx
mov dword [esp + 0x15b8], eax
mov eax, dword [esp + 0x15b8]
mov dword [esp + 0x15b4], eax
mov eax, dword [esp + 0x15bc]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x15bc], ecx
mov al, byte [eax]
mov byte [esp + 0x15b3], al
cmp byte [esp + 0x15b3], 0
je 0x474b44
mov ecx, dword [esp + 0x15b4]
mov al, byte [esp + 0x15b3]
mov dword [esp + 0x15fc], ecx
mov byte [esp + 0x15fb], al
mov eax, dword [esp + 0x15fc]
mov dword [esp + 0xdc], eax
movsx eax, byte [esp + 0x15fb]
cmp eax, 0x41
jl 0x474b13
movsx eax, byte [esp + 0x15fb]
cmp eax, 0x5a
jg 0x474b13
movsx eax, byte [esp + 0x15fb]
or eax, 0x20
mov dword [esp + 0xd8], eax
jmp 0x474b22
movsx eax, byte [esp + 0x15fb]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x15b4], eax
jmp 0x474a91
mov eax, dword [esp + 0x15b4]
mov dword [esp + 0x15d4], 0xa90a9a5e
mov dword [esp + 0x15d0], 0xd0b3ecce
mov ecx, dword [esp + 0x15d0]
cmp eax, ecx
je 0x474ba1
jmp 0x474a01
jmp 0x474b73
lea eax, [esp + 0x158c]
mov dword [esp + 0x15e8], eax
mov eax, dword [esp + 0x15e8]
mov ecx, dword [eax]
mov dword [esp + 0x1600], ecx
mov ecx, dword [esp + 0x1600]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x474940
mov eax, dword [esp + 0x157c]
lea ecx, [esp + 0x1580]
mov dword [esp + 0x15e4], ecx
mov dword [esp + 0x15e0], eax
mov eax, dword [esp + 0x15e4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x15dc], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x15d8], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x15dc]
mov edx, dword [esp + 0x15d8]
mov esi, dword [esp + 0x15e0]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x1590], eax
mov eax, dword [esp + 0x1590]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x1498]
mov eax, dword [eax]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x1494]
mov dword [esp + 0x1604], eax
mov eax, dword [esp + 0x1604]
mov dword [esp + 0x1608], eax
mov eax, dword [esp + 0x1608]
mov dword [esp + 0xd4], eax
mov dword [esp + 0x160c], eax
mov eax, dword [esp + 0x160c]
movsx eax, byte [eax + 0xd]
cmp eax, 0
je 0x474ce1
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x1618], eax
mov dword [esp + 0x1614], eax
mov eax, dword [esp + 0x1618]
mov dword [esp + 0xc8], eax
mov dword [esp + 0x1610], 0
cmp dword [esp + 0x1610], 0xe
jge 0x474cdf
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x1614]
mov edx, dword [esp + 0x1610]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x1610]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x1610]
add eax, 1
mov dword [esp + 0x1610], eax
jmp 0x474c94
jmp 0x474ce1
mov eax, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
mov esi, dword [esp + 0xd4]
mov ecx, esp
mov dword [ecx + 4], esi
mov dword [ecx], edx
call eax
sub esp, 8
mov dword [esp + 0xc4], eax
jmp 0x474d0b
jmp 0x474d0d
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x1450], eax
mov eax, esp
lea ecx, [esp + 0x1429]
mov dword [eax], ecx
lea ecx, [esp + 0x142a]
call fcn.004779e0
sub esp, 4
jmp 0x474d37
lea eax, [esp + 0x143b]
mov dword [esp + 0x14a8], eax
lea eax, [esp + 0x1480]
mov dword [esp + 0x14a4], eax
lea eax, [esp + 0x142a]
mov dword [esp + 0x14a0], eax
lea eax, [esp + 0x162c]
mov dword [esp + 0x1634], eax
mov eax, dword [esp + 0x1634]
mov dword [esp + 0x1690], 0x30
mov ecx, dword [esp + 0x1690]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x168c], ecx
mov ecx, dword [esp + 0x168c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x162c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1620]
mov dword [esp + 0x1644], ecx
mov dword [esp + 0x1640], eax
mov eax, dword [esp + 0x1644]
mov ecx, dword [esp + 0x1640]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1640]
mov dword [esp + 0x1694], ecx
mov ecx, dword [esp + 0x1694]
mov edx, dword [esp + 0x1694]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1638], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x163c], ecx
mov ecx, dword [esp + 0x1640]
add ecx, dword [esp + 0x1638]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x163c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1620]
mov dword [esp + 0x1648], eax
mov ecx, dword [esp + 0x1648]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x474fd4
lea eax, [esp + 0x1620]
mov dword [esp + 0x164c], eax
mov eax, dword [esp + 0x164c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x161c], eax
mov eax, dword [esp + 0x161c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x161c], ecx
cmp eax, 0
je 0x474fd2
mov eax, dword [esp + 0x161c]
lea ecx, [esp + 0x1620]
mov dword [esp + 0x1664], ecx
mov dword [esp + 0x1660], eax
mov eax, dword [esp + 0x1664]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1660]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x166c], 0x706c6751
mov dword [esp + 0x1668], 0x1f9771c9
mov eax, dword [esp + 0x166c]
mov dword [esp + 0x165c], ecx
mov dword [esp + 0x1658], eax
mov eax, dword [esp + 0x1658]
mov dword [esp + 0x1654], eax
mov eax, dword [esp + 0x165c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x165c], ecx
mov al, byte [eax]
mov byte [esp + 0x1653], al
cmp byte [esp + 0x1653], 0
je 0x474fa5
mov ecx, dword [esp + 0x1654]
mov al, byte [esp + 0x1653]
mov dword [esp + 0x169c], ecx
mov byte [esp + 0x169b], al
mov eax, dword [esp + 0x169c]
mov dword [esp + 0xc0], eax
movsx eax, byte [esp + 0x169b]
cmp eax, 0x41
jl 0x474f74
movsx eax, byte [esp + 0x169b]
cmp eax, 0x5a
jg 0x474f74
movsx eax, byte [esp + 0x169b]
or eax, 0x20
mov dword [esp + 0xbc], eax
jmp 0x474f83
movsx eax, byte [esp + 0x169b]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xbc]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x1654], eax
jmp 0x474ef2
mov eax, dword [esp + 0x1654]
mov dword [esp + 0x1674], 0x706c6751
mov dword [esp + 0x1670], 0x1f9771c9
mov ecx, dword [esp + 0x1670]
cmp eax, ecx
je 0x475002
jmp 0x474e62
jmp 0x474fd4
lea eax, [esp + 0x162c]
mov dword [esp + 0x1688], eax
mov eax, dword [esp + 0x1688]
mov ecx, dword [eax]
mov dword [esp + 0x16a0], ecx
mov ecx, dword [esp + 0x16a0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x474da1
mov eax, dword [esp + 0x161c]
lea ecx, [esp + 0x1620]
mov dword [esp + 0x1684], ecx
mov dword [esp + 0x1680], eax
mov eax, dword [esp + 0x1684]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x167c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x1678], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x167c]
mov edx, dword [esp + 0x1678]
mov esi, dword [esp + 0x1680]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x1630], eax
mov eax, dword [esp + 0x1630]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x14a4]
mov eax, dword [eax]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x14a0]
mov dword [esp + 0x16a8], eax
mov eax, dword [esp + 0x16a8]
mov dword [esp + 0x16ac], eax
mov eax, dword [esp + 0x16ac]
mov dword [esp + 0xb8], eax
mov dword [esp + 0x16b8], eax
mov eax, dword [esp + 0x16b8]
movsx eax, byte [eax + 0x10]
cmp eax, 0
je 0x475142
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x16d0], eax
mov dword [esp + 0x16cc], eax
mov eax, dword [esp + 0x16d0]
mov dword [esp + 0xac], eax
mov dword [esp + 0x16c8], 0
cmp dword [esp + 0x16c8], 0x11
jge 0x475140
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x16cc]
mov edx, dword [esp + 0x16c8]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x16c8]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x16c8]
add eax, 1
mov dword [esp + 0x16c8], eax
jmp 0x4750f5
jmp 0x475142
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov esi, dword [esp + 0xb8]
mov ecx, esp
mov dword [ecx + 4], esi
mov dword [ecx], edx
call eax
sub esp, 8
mov dword [esp + 0xa8], eax
jmp 0x47516c
jmp 0x47516e
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x143c], eax
mov eax, esp
lea ecx, [esp + 0x1411]
mov dword [eax], ecx
lea ecx, [esp + 0x1412]
call fcn.00477a30
sub esp, 4
jmp 0x475198
lea eax, [esp + 0x1423]
mov dword [esp + 0x14b4], eax
lea eax, [esp + 0x1480]
mov dword [esp + 0x14b0], eax
lea eax, [esp + 0x1412]
mov dword [esp + 0x14ac], eax
lea eax, [esp + 0x16e4]
mov dword [esp + 0x16ec], eax
mov eax, dword [esp + 0x16ec]
mov dword [esp + 0x1748], 0x30
mov ecx, dword [esp + 0x1748]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x1744], ecx
mov ecx, dword [esp + 0x1744]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x16e4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x16d8]
mov dword [esp + 0x16fc], ecx
mov dword [esp + 0x16f8], eax
mov eax, dword [esp + 0x16fc]
mov ecx, dword [esp + 0x16f8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x16f8]
mov dword [esp + 0x174c], ecx
mov ecx, dword [esp + 0x174c]
mov edx, dword [esp + 0x174c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x16f0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x16f4], ecx
mov ecx, dword [esp + 0x16f8]
add ecx, dword [esp + 0x16f0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x16f4]
mov dword [eax + 8], ecx
lea eax, [esp + 0x16d8]
mov dword [esp + 0x1700], eax
mov ecx, dword [esp + 0x1700]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x475435
lea eax, [esp + 0x16d8]
mov dword [esp + 0x1704], eax
mov eax, dword [esp + 0x1704]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x16d4], eax
mov eax, dword [esp + 0x16d4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x16d4], ecx
cmp eax, 0
je 0x475433
mov eax, dword [esp + 0x16d4]
lea ecx, [esp + 0x16d8]
mov dword [esp + 0x171c], ecx
mov dword [esp + 0x1718], eax
mov eax, dword [esp + 0x171c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1718]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x1724], 0x4fbad470
mov dword [esp + 0x1720], 0x922189bc
mov eax, dword [esp + 0x1724]
mov dword [esp + 0x1714], ecx
mov dword [esp + 0x1710], eax
mov eax, dword [esp + 0x1710]
mov dword [esp + 0x170c], eax
mov eax, dword [esp + 0x1714]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x1714], ecx
mov al, byte [eax]
mov byte [esp + 0x170b], al
cmp byte [esp + 0x170b], 0
je 0x475406
mov ecx, dword [esp + 0x170c]
mov al, byte [esp + 0x170b]
mov dword [esp + 0x1754], ecx
mov byte [esp + 0x1753], al
mov eax, dword [esp + 0x1754]
mov dword [esp + 0xa4], eax
movsx eax, byte [esp + 0x1753]
cmp eax, 0x41
jl 0x4753d5
movsx eax, byte [esp + 0x1753]
cmp eax, 0x5a
jg 0x4753d5
movsx eax, byte [esp + 0x1753]
or eax, 0x20
mov dword [esp + 0xa0], eax
jmp 0x4753e4
movsx eax, byte [esp + 0x1753]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x170c], eax
jmp 0x475353
mov eax, dword [esp + 0x170c]
mov dword [esp + 0x172c], 0x4fbad470
mov dword [esp + 0x1728], 0x922189bc
mov ecx, dword [esp + 0x1728]
cmp eax, ecx
je 0x475463
jmp 0x4752c3
jmp 0x475435
lea eax, [esp + 0x16e4]
mov dword [esp + 0x1740], eax
mov eax, dword [esp + 0x1740]
mov ecx, dword [eax]
mov dword [esp + 0x1758], ecx
mov ecx, dword [esp + 0x1758]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x475202
mov eax, dword [esp + 0x16d4]
lea ecx, [esp + 0x16d8]
mov dword [esp + 0x173c], ecx
mov dword [esp + 0x1738], eax
mov eax, dword [esp + 0x173c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x1734], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x1730], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x1734]
mov edx, dword [esp + 0x1730]
mov esi, dword [esp + 0x1738]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x16e8], eax
mov eax, dword [esp + 0x16e8]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x14b0]
mov eax, dword [eax]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x14ac]
mov dword [esp + 0x16a4], eax
mov eax, dword [esp + 0x16a4]
mov dword [esp + 0x16b0], eax
mov eax, dword [esp + 0x16b0]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x16b4], eax
mov eax, dword [esp + 0x16b4]
movsx eax, byte [eax + 0x10]
cmp eax, 0
je 0x4755a3
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x16c4], eax
mov dword [esp + 0x16c0], eax
mov eax, dword [esp + 0x16c4]
mov dword [esp + 0x90], eax
mov dword [esp + 0x16bc], 0
cmp dword [esp + 0x16bc], 0x11
jge 0x4755a1
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x16c0]
mov edx, dword [esp + 0x16bc]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x16bc]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x16bc]
add eax, 1
mov dword [esp + 0x16bc], eax
jmp 0x475556
jmp 0x4755a3
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
mov ecx, esp
mov dword [ecx + 4], esi
mov dword [ecx], edx
call eax
sub esp, 8
mov dword [esp + 0x8c], eax
jmp 0x4755cd
jmp 0x4755cf
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x1424], eax
mov eax, esp
lea ecx, [esp + 0x13f6]
mov dword [eax], ecx
lea ecx, [esp + 0x13f7]
call fcn.00477a80
sub esp, 4
jmp 0x4755f9
lea eax, [esp + 0x140b]
mov dword [esp + 0x14c0], eax
lea eax, [esp + 0x1480]
mov dword [esp + 0x14bc], eax
lea eax, [esp + 0x13f7]
mov dword [esp + 0x14b8], eax
lea eax, [esp + 0x176c]
mov dword [esp + 0x1774], eax
mov eax, dword [esp + 0x1774]
mov dword [esp + 0x17d0], 0x30
mov ecx, dword [esp + 0x17d0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x17cc], ecx
mov ecx, dword [esp + 0x17cc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x176c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1760]
mov dword [esp + 0x1784], ecx
mov dword [esp + 0x1780], eax
mov eax, dword [esp + 0x1784]
mov ecx, dword [esp + 0x1780]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1780]
mov dword [esp + 0x17d4], ecx
mov ecx, dword [esp + 0x17d4]
mov edx, dword [esp + 0x17d4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1778], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x177c], ecx
mov ecx, dword [esp + 0x1780]
add ecx, dword [esp + 0x1778]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x177c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1760]
mov dword [esp + 0x1788], eax
mov ecx, dword [esp + 0x1788]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x475896
lea eax, [esp + 0x1760]
mov dword [esp + 0x178c], eax
mov eax, dword [esp + 0x178c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x175c], eax
mov eax, dword [esp + 0x175c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x175c], ecx
cmp eax, 0
je 0x475894
mov eax, dword [esp + 0x175c]
lea ecx, [esp + 0x1760]
mov dword [esp + 0x17a4], ecx
mov dword [esp + 0x17a0], eax
mov eax, dword [esp + 0x17a4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x17a0]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x17ac], 0xc211930
mov dword [esp + 0x17a8], 0xa266837c
mov eax, dword [esp + 0x17ac]
mov dword [esp + 0x179c], ecx
mov dword [esp + 0x1798], eax
mov eax, dword [esp + 0x1798]
mov dword [esp + 0x1794], eax
mov eax, dword [esp + 0x179c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x179c], ecx
mov al, byte [eax]
mov byte [esp + 0x1793], al
cmp byte [esp + 0x1793], 0
je 0x475867
mov ecx, dword [esp + 0x1794]
mov al, byte [esp + 0x1793]
mov dword [esp + 0x17dc], ecx
mov byte [esp + 0x17db], al
mov eax, dword [esp + 0x17dc]
mov dword [esp + 0x88], eax
movsx eax, byte [esp + 0x17db]
cmp eax, 0x41
jl 0x475836
movsx eax, byte [esp + 0x17db]
cmp eax, 0x5a
jg 0x475836
movsx eax, byte [esp + 0x17db]
or eax, 0x20
mov dword [esp + 0x84], eax
jmp 0x475845
movsx eax, byte [esp + 0x17db]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x1794], eax
jmp 0x4757b4
mov eax, dword [esp + 0x1794]
mov dword [esp + 0x17b4], 0xc211930
mov dword [esp + 0x17b0], 0xa266837c
mov ecx, dword [esp + 0x17b0]
cmp eax, ecx
je 0x4758c4
jmp 0x475724
jmp 0x475896
lea eax, [esp + 0x176c]
mov dword [esp + 0x17c8], eax
mov eax, dword [esp + 0x17c8]
mov ecx, dword [eax]
mov dword [esp + 0x17e0], ecx
mov ecx, dword [esp + 0x17e0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x475663
mov eax, dword [esp + 0x175c]
lea ecx, [esp + 0x1760]
mov dword [esp + 0x17c4], ecx
mov dword [esp + 0x17c0], eax
mov eax, dword [esp + 0x17c4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x17bc], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x17b8], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x17bc]
mov edx, dword [esp + 0x17b8]
mov esi, dword [esp + 0x17c0]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x1770], eax
mov eax, dword [esp + 0x1770]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x14bc]
mov eax, dword [eax]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x14b8]
mov dword [esp + 0x17e4], eax
mov eax, dword [esp + 0x17e4]
mov dword [esp + 0x17e8], eax
mov eax, dword [esp + 0x17e8]
mov dword [esp + 0x80], eax
mov dword [esp + 0x17ec], eax
mov eax, dword [esp + 0x17ec]
movsx eax, byte [eax + 0x13]
cmp eax, 0
je 0x4759f8
mov eax, dword [esp + 0x80]
mov dword [esp + 0x17f8], eax
mov dword [esp + 0x17f4], eax
mov eax, dword [esp + 0x17f8]
mov dword [esp + 0x74], eax
mov dword [esp + 0x17f0], 0
cmp dword [esp + 0x17f0], 0x14
jge 0x4759f6
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x17f4]
mov edx, dword [esp + 0x17f0]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0x17f0]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x17f0]
add eax, 1
mov dword [esp + 0x17f0], eax
jmp 0x4759ae
jmp 0x4759f8
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
mov ecx, esp
mov dword [ecx + 4], esi
mov dword [ecx], edx
call eax
sub esp, 8
mov dword [esp + 0x70], eax
jmp 0x475a19
jmp 0x475a1b
mov eax, dword [esp + 0x70]
mov dword [esp + 0x140c], eax
cmp dword [esp + 0x1450], 0
je 0x475a52
cmp dword [esp + 0x143c], 0
je 0x475a52
cmp dword [esp + 0x1424], 0
je 0x475a52
cmp dword [esp + 0x140c], 0
jne 0x475d87
lea eax, [esp + 0x13f5]
mov dword [esp + 0x14c8], eax
lea eax, [esp + 0x1480]
mov dword [esp + 0x14c4], eax
lea eax, [esp + 0x180c]
mov dword [esp + 0x1814], eax
mov eax, dword [esp + 0x1814]
mov dword [esp + 0x1870], 0x30
mov ecx, dword [esp + 0x1870]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x186c], ecx
mov ecx, dword [esp + 0x186c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x180c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1800]
mov dword [esp + 0x1824], ecx
mov dword [esp + 0x1820], eax
mov eax, dword [esp + 0x1824]
mov ecx, dword [esp + 0x1820]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1820]
mov dword [esp + 0x1874], ecx
mov ecx, dword [esp + 0x1874]
mov edx, dword [esp + 0x1874]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1818], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x181c], ecx
mov ecx, dword [esp + 0x1820]
add ecx, dword [esp + 0x1818]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x181c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1800]
mov dword [esp + 0x1828], eax
mov ecx, dword [esp + 0x1828]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x475cce
lea eax, [esp + 0x1800]
mov dword [esp + 0x182c], eax
mov eax, dword [esp + 0x182c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x17fc], eax
mov eax, dword [esp + 0x17fc]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x17fc], ecx
cmp eax, 0
je 0x475ccc
mov eax, dword [esp + 0x17fc]
lea ecx, [esp + 0x1800]
mov dword [esp + 0x1844], ecx
mov dword [esp + 0x1840], eax
mov eax, dword [esp + 0x1844]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1840]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x184c], 0x7ecadce0
mov dword [esp + 0x1848], 0x7d949861
mov eax, dword [esp + 0x184c]
mov dword [esp + 0x183c], ecx
mov dword [esp + 0x1838], eax
mov eax, dword [esp + 0x1838]
mov dword [esp + 0x1834], eax
mov eax, dword [esp + 0x183c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x183c], ecx
mov al, byte [eax]
mov byte [esp + 0x1833], al
cmp byte [esp + 0x1833], 0
je 0x475c9f
mov ecx, dword [esp + 0x1834]
mov al, byte [esp + 0x1833]
mov dword [esp + 0x187c], ecx
mov byte [esp + 0x187b], al
mov eax, dword [esp + 0x187c]
mov dword [esp + 0x6c], eax
movsx eax, byte [esp + 0x187b]
cmp eax, 0x41
jl 0x475c77
movsx eax, byte [esp + 0x187b]
cmp eax, 0x5a
jg 0x475c77
movsx eax, byte [esp + 0x187b]
or eax, 0x20
mov dword [esp + 0x68], eax
jmp 0x475c83
movsx eax, byte [esp + 0x187b]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x1834], eax
jmp 0x475bff
mov eax, dword [esp + 0x1834]
mov dword [esp + 0x1854], 0x7ecadce0
mov dword [esp + 0x1850], 0x7d949861
mov ecx, dword [esp + 0x1850]
cmp eax, ecx
je 0x475cfc
jmp 0x475b6f
jmp 0x475cce
lea eax, [esp + 0x180c]
mov dword [esp + 0x1868], eax
mov eax, dword [esp + 0x1868]
mov ecx, dword [eax]
mov dword [esp + 0x1880], ecx
mov ecx, dword [esp + 0x1880]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x475aae
mov eax, dword [esp + 0x17fc]
lea ecx, [esp + 0x1800]
mov dword [esp + 0x1864], ecx
mov dword [esp + 0x1860], eax
mov eax, dword [esp + 0x1864]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x1c]
add ecx, edx
mov dword [esp + 0x185c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x24]
add ecx, edx
mov dword [esp + 0x1858], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x185c]
mov edx, dword [esp + 0x1858]
mov esi, dword [esp + 0x1860]
movzx edx, word [edx + esi*2]
mov ecx, dword [ecx + edx*4]
add eax, ecx
mov dword [esp + 0x1810], eax
mov eax, dword [esp + 0x1810]
mov ecx, dword [esp + 0x14c4]
mov edx, dword [ecx]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x475d83
jmp 0x475d85
jmp 0x475d87
mov eax, dword [esp + 0x1450]
mov dword [esp + 0x5c], eax
lea ecx, [esp + 0x13e7]
call fcn.00477ad0
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
jmp 0x475da8
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x13e8], edx
mov dword [esp + 0x13ec], ecx
lea ecx, [esp + 0x13e8]
mov dword [esp + 0x14cc], ecx
mov edx, dword [esp + 0x14cc]
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 0x10], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov dword [ecx + 4], 1
call eax
sub esp, 0x14
mov dword [esp + 0x58], eax
jmp 0x475e02
mov eax, dword [esp + 0x58]
mov dword [esp + 0x13f0], eax
cmp dword [esp + 0x13f0], 0
jne 0x476150
lea eax, [esp + 0x13e6]
mov dword [esp + 0x14d4], eax
lea eax, [esp + 0x1480]
mov dword [esp + 0x14d0], eax
lea eax, [esp + 0x1894]
mov dword [esp + 0x189c], eax
mov eax, dword [esp + 0x189c]
mov dword [esp + 0x18f8], 0x30
mov ecx, dword [esp + 0x18f8]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x18f4], ecx
mov ecx, dword [esp + 0x18f4]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x1894]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1888]
mov dword [esp + 0x18ac], ecx
mov dword [esp + 0x18a8], eax
mov eax, dword [esp + 0x18ac]
mov ecx, dword [esp + 0x18a8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x18a8]
mov dword [esp + 0x18fc], ecx
mov ecx, dword [esp + 0x18fc]
mov edx, dword [esp + 0x18fc]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x18a0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x18a4], ecx
mov ecx, dword [esp + 0x18a8]
add ecx, dword [esp + 0x18a0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x18a4]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1888]
mov dword [esp + 0x18b0], eax
mov ecx, dword [esp + 0x18b0]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x476097
lea eax, [esp + 0x1888]
mov dword [esp + 0x18b4], eax
mov eax, dword [esp + 0x18b4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x1884], eax
mov eax, dword [esp + 0x1884]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x1884], ecx
cmp eax, 0
je 0x476095
mov eax, dword [esp + 0x1884]
lea ecx, [esp + 0x1888]
mov dword [esp + 0x18cc], ecx
mov dword [esp + 0x18c8], eax
mov eax, dword [esp + 0x18cc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x18c8]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x18d4], 0xd72e06a8
mov dword [esp + 0x18d0], 0x19739b29
mov eax, dword [esp + 0x18d4]
mov dword [esp + 0x18c4], ecx
mov dword [esp + 0x18c0], eax
mov eax, dword [esp + 0x18c0]
mov dword [esp + 0x18bc], eax
mov eax, dword [esp + 0x18c4]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x18c4], ecx
mov al, byte [eax]
mov byte [esp + 0x18bb], al
cmp byte [esp + 0x18bb], 0
je 0x476068
mov ecx, dword [esp + 0x18bc]
mov al, byte [esp + 0x18bb]
mov dword [esp + 0x1904], ecx
mov byte [esp + 0x1903], al
mov eax, dword [esp + 0x1904]
mov dword [esp + 0x54], eax
movsx eax, byte [esp + 0x1903]
cmp eax, 0x41
jl 0x476040
movsx eax, byte [esp + 0x1903]
cmp eax, 0x5a
jg 0x476040
movsx eax, byte [esp + 0x1903]
or eax, 0x20
mov dword [esp + 0x50], eax
jmp 0x47604c
movsx eax, byte [esp + 0x1903]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x18bc], eax
jmp 0x475fc8
mov eax, dword [esp + 0x18bc]
mov dword [esp + 0x18dc], 0xd72e06a8
mov dword [esp + 0x18d8], 0x19739b29
mov ecx, dword [esp + 0x18d8]
cmp eax, ecx
je 0x4760c5
jmp 0x475f38
jmp 0x476097
lea eax, [esp + 0x1894]
mov dword [esp + 0x18f0], eax
mov eax, dword [esp + 0x18f0]
mov ecx, dword [eax]
mov dword [esp + 0x1908], ecx
mov ecx, dword [esp + 0x1908]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x475e77
mov eax, dword [esp + 0x1884]
lea ecx, [esp + 0x1888]
mov dword [esp + 0x18ec], ecx
mov dword [esp + 0x18e8], eax
mov eax, dword [esp + 0x18ec]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x1c]
add ecx, edx
mov dword [esp + 0x18e4], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x24]
add ecx, edx
mov dword [esp + 0x18e0], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x18e4]
mov edx, dword [esp + 0x18e0]
mov esi, dword [esp + 0x18e8]
movzx edx, word [edx + esi*2]
mov ecx, dword [ecx + edx*4]
add eax, ecx
mov dword [esp + 0x1898], eax
mov eax, dword [esp + 0x1898]
mov ecx, dword [esp + 0x14d0]
mov edx, dword [ecx]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x47614c
jmp 0x47614e
jmp 0x476150
mov eax, dword [esp + 0x3b4]
mov ecx, dword [esp + 0x143c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x13f0]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x13d4]
mov dword [esp + 0x14e0], ecx
mov dword [esp + 0x14dc], eax
mov ecx, dword [esp + 0x14dc]
mov dword [esp + 0x48], ecx
call fcn.00489be0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x4c], eax
call fcn.004a8ea0
mov ecx, dword [esp + 0x4c]
shl eax, 1
mov dword [esp + 0x196c], ecx
mov dword [esp + 0x1968], eax
mov byte [esp + 0x1967], 1
test byte [0x4f5a78], 1
jne 0x4761c9
call fcn.00487200
cmp dword [esp + 0x196c], 0
je 0x4761dd
cmp dword [esp + 0x1968], 0
jne 0x4761ea
mov byte [esp + 0x1973], 0
jmp 0x4768dc
mov dword [esp + 0x1960], 0
test byte [esp + 0x1967], 1
je 0x47647b
mov ecx, dword [esp + 0x196c]
mov edx, dword [esp + 0x1968]
call fcn.00488090
mov dword [esp + 0x1960], eax
mov eax, dword [esp + 0x1960]
test byte [eax + 5], 1
jne 0x476479
mov eax, dword [esp + 0x1960]
mov dword [esp + 0x1990], eax
cmp dword [esp + 0x1990], 0
je 0x476258
cmp dword [0x4f5a7c], 0
je 0x476258
cmp dword [0x4f5a80], 0
jne 0x476265
mov byte [esp + 0x1997], 0
jmp 0x476460
mov dword [esp + 0x198c], 0
cmp dword [esp + 0x198c], 4
jae 0x4762db
mov dword [esp + 0x1988], 0
cmp dword [esp + 0x1988], 1
jae 0x4762c8
mov eax, dword [esp + 0x1988]
movzx esi, byte [eax + 0x4f5009]
mov eax, dword [esp + 0x1990]
mov ecx, dword [esp + 0x198c]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x1988]
add eax, 1
mov dword [esp + 0x1988], eax
jmp 0x476285
mov eax, dword [esp + 0x198c]
add eax, 1
mov dword [esp + 0x198c], eax
jmp 0x476270
mov ecx, dword [0x4f5a80]
mov eax, dword [esp + 0x1990]
movzx eax, byte [eax + 4]
mov dword [esp], eax
call fcn.004ab540
sub esp, 4
mov eax, dword [eax]
mov dword [esp + 0x1984], eax
mov dword [esp + 0x1980], 0
cmp dword [esp + 0x1980], 4
jae 0x476377
mov dword [esp + 0x197c], 0
cmp dword [esp + 0x197c], 1
jae 0x476364
mov eax, dword [esp + 0x197c]
movzx edx, byte [eax + 0x4f5009]
mov eax, dword [esp + 0x1980]
movzx ecx, byte [esp + eax + 0x1984]
xor ecx, edx
mov byte [esp + eax + 0x1984], cl
mov eax, dword [esp + 0x197c]
add eax, 1
mov dword [esp + 0x197c], eax
jmp 0x476320
mov eax, dword [esp + 0x1980]
add eax, 1
mov dword [esp + 0x1980], eax
jmp 0x47630b
mov eax, dword [esp + 0x1984]
mov esi, dword [esp + 0x1990]
mov ecx, dword [esi]
mov edx, dword [esi + 0xa]
movzx edi, byte [esi + 5]
and edi, 1
mov esi, esp
mov dword [esi], edi
call eax
sub esp, 4
mov byte [esp + 0x3f], al
jmp 0x4763a0
mov al, byte [esp + 0x3f]
and al, 1
mov byte [0x4f62f4], al
mov dword [esp + 0x1984], 0
mov eax, dword [esp + 0x1990]
mov cl, byte [eax + 5]
and cl, 1
dec cl
mov eax, dword [esp + 0x1990]
and cl, 1
mov byte [eax + 5], cl
mov dword [esp + 0x1978], 0
cmp dword [esp + 0x1978], 4
jae 0x476448
mov dword [esp + 0x1974], 0
cmp dword [esp + 0x1974], 1
jae 0x476435
mov eax, dword [esp + 0x1974]
movzx esi, byte [eax + 0x4f5009]
mov eax, dword [esp + 0x1990]
mov ecx, dword [esp + 0x1978]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x1974]
add eax, 1
mov dword [esp + 0x1974], eax
jmp 0x4763f2
mov eax, dword [esp + 0x1978]
add eax, 1
mov dword [esp + 0x1978], eax
jmp 0x4763dd
mov al, byte [0x4f62f4]
and al, 1
mov byte [esp + 0x1997], al
jmp 0x476460
test byte [esp + 0x1997], 1
jne 0x476477
mov byte [esp + 0x1973], 0
jmp 0x4768dc
jmp 0x476479
jmp 0x47647b
mov eax, dword [esp + 0x196c]
mov dword [esp + 0x195c], eax
mov dword [esp + 0x1958], 0
mov eax, dword [esp + 0x1958]
cmp eax, dword [esp + 0x1968]
jae 0x47666b
mov dword [esp + 0x1954], 0
cmp dword [esp + 0x1954], 4
jae 0x476537
mov dword [esp + 0x1950], 0
cmp dword [esp + 0x1950], 4
jae 0x476521
mov eax, dword [esp + 0x1954]
movzx ecx, byte [eax + 0x4f5b44]
lea eax, [0x4f5a84]
shl ecx, 2
add eax, ecx
mov ecx, dword [esp + 0x1950]
movzx esi, byte [eax + ecx]
mov eax, dword [esp + 0x195c]
mov ecx, dword [esp + 0x1958]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x1950]
add eax, 1
mov dword [esp + 0x1950], eax
jmp 0x4764c8
mov eax, dword [esp + 0x1954]
add eax, 1
mov dword [esp + 0x1954], eax
jmp 0x4764b3
mov dword [esp + 0x194c], 0
cmp dword [esp + 0x194c], 8
jae 0x4765c6
mov dword [esp + 0x1948], 0
cmp dword [esp + 0x1948], 4
jae 0x4765b0
mov eax, dword [esp + 0x194c]
movzx ecx, byte [eax + 0x4f5b48]
lea eax, [0x4f5ac4]
shl ecx, 2
add eax, ecx
mov ecx, dword [esp + 0x1948]
movzx esi, byte [eax + ecx]
mov eax, dword [esp + 0x195c]
mov ecx, dword [esp + 0x1958]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x1948]
add eax, 1
mov dword [esp + 0x1948], eax
jmp 0x476557
mov eax, dword [esp + 0x194c]
add eax, 1
mov dword [esp + 0x194c], eax
jmp 0x476542
mov dword [esp + 0x1944], 0
cmp dword [esp + 0x1944], 0xc
jae 0x476655
mov dword [esp + 0x1940], 0
cmp dword [esp + 0x1940], 4
jae 0x47663f
mov eax, dword [esp + 0x1944]
movzx ecx, byte [eax + 0x4f5b50]
lea eax, [0x4f5b04]
shl ecx, 2
add eax, ecx
mov ecx, dword [esp + 0x1940]
movzx esi, byte [eax + ecx]
mov eax, dword [esp + 0x195c]
mov ecx, dword [esp + 0x1958]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x1940]
add eax, 1
mov dword [esp + 0x1940], eax
jmp 0x4765e6
mov eax, dword [esp + 0x1944]
add eax, 1
mov dword [esp + 0x1944], eax
jmp 0x4765d1
mov eax, dword [esp + 0x1958]
add eax, 1
mov dword [esp + 0x1958], eax
jmp 0x476494
test byte [esp + 0x1967], 1
je 0x4768d4
mov eax, dword [esp + 0x1960]
test byte [eax + 5], 1
je 0x4768d2
mov eax, dword [esp + 0x1960]
mov dword [esp + 0x19b4], eax
cmp dword [esp + 0x19b4], 0
je 0x4766b4
cmp dword [0x4f5a7c], 0
je 0x4766b4
cmp dword [0x4f5a80], 0
jne 0x4766c1
mov byte [esp + 0x19bb], 0
jmp 0x4768bc
mov dword [esp + 0x19b0], 0
cmp dword [esp + 0x19b0], 4
jae 0x476737
mov dword [esp + 0x19ac], 0
cmp dword [esp + 0x19ac], 1
jae 0x476724
mov eax, dword [esp + 0x19ac]
movzx esi, byte [eax + 0x4f5009]
mov eax, dword [esp + 0x19b4]
mov ecx, dword [esp + 0x19b0]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x19ac]
add eax, 1
mov dword [esp + 0x19ac], eax
jmp 0x4766e1
mov eax, dword [esp + 0x19b0]
add eax, 1
mov dword [esp + 0x19b0], eax
jmp 0x4766cc
mov ecx, dword [0x4f5a80]
mov eax, dword [esp + 0x19b4]
movzx eax, byte [eax + 4]
mov dword [esp], eax
call fcn.004ab540
sub esp, 4
mov eax, dword [eax]
mov dword [esp + 0x19a8], eax
mov dword [esp + 0x19a4], 0
cmp dword [esp + 0x19a4], 4
jae 0x4767d3
mov dword [esp + 0x19a0], 0
cmp dword [esp + 0x19a0], 1
jae 0x4767c0
mov eax, dword [esp + 0x19a0]
movzx edx, byte [eax + 0x4f5009]
mov eax, dword [esp + 0x19a4]
movzx ecx, byte [esp + eax + 0x19a8]
xor ecx, edx
mov byte [esp + eax + 0x19a8], cl
mov eax, dword [esp + 0x19a0]
add eax, 1
mov dword [esp + 0x19a0], eax
jmp 0x47677c
mov eax, dword [esp + 0x19a4]
add eax, 1
mov dword [esp + 0x19a4], eax
jmp 0x476767
mov eax, dword [esp + 0x19a8]
mov esi, dword [esp + 0x19b4]
mov ecx, dword [esi]
mov edx, dword [esi + 0xa]
movzx edi, byte [esi + 5]
and edi, 1
mov esi, esp
mov dword [esi], edi
call eax
sub esp, 4
mov byte [esp + 0x3e], al
jmp 0x4767fc
mov al, byte [esp + 0x3e]
and al, 1
mov byte [0x4f62f4], al
mov dword [esp + 0x19a8], 0
mov eax, dword [esp + 0x19b4]
mov cl, byte [eax + 5]
and cl, 1
dec cl
mov eax, dword [esp + 0x19b4]
and cl, 1
mov byte [eax + 5], cl
mov dword [esp + 0x199c], 0
cmp dword [esp + 0x199c], 4
jae 0x4768a4
mov dword [esp + 0x1998], 0
cmp dword [esp + 0x1998], 1
jae 0x476891
mov eax, dword [esp + 0x1998]
movzx esi, byte [eax + 0x4f5009]
mov eax, dword [esp + 0x19b4]
mov ecx, dword [esp + 0x199c]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x1998]
add eax, 1
mov dword [esp + 0x1998], eax
jmp 0x47684e
mov eax, dword [esp + 0x199c]
add eax, 1
mov dword [esp + 0x199c], eax
jmp 0x476839
mov al, byte [0x4f62f4]
and al, 1
mov byte [esp + 0x19bb], al
jmp 0x4768bc
test byte [esp + 0x19bb], 1
jne 0x4768d0
mov byte [esp + 0x1973], 0
jmp 0x4768dc
jmp 0x4768d2
jmp 0x4768d4
mov byte [esp + 0x1973], 1
mov ecx, dword [esp + 0x48]
mov byte [esp + 0x14db], 0
mov eax, esp
mov dword [eax], ecx
lea ecx, [esp + 0x13d4]
call fcn.004b3580
sub esp, 4
jmp 0x4768fd
mov ecx, dword [esp + 0x48]
call fcn.00489be0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x38], eax
call fcn.004a8ea0
mov ecx, dword [esp + 0x38]
shl eax, 1
mov dword [esp + 0x1938], ecx
mov dword [esp + 0x1934], eax
mov byte [esp + 0x1933], 1
test byte [0x4f5a78], 1
jne 0x47693d
call fcn.00487200
cmp dword [esp + 0x1938], 0
je 0x476951
cmp dword [esp + 0x1934], 0
jne 0x47695e
mov byte [esp + 0x193f], 0
jmp 0x477050
mov dword [esp + 0x192c], 0
test byte [esp + 0x1933], 1
je 0x476bef
mov ecx, dword [esp + 0x1938]
mov edx, dword [esp + 0x1934]
call fcn.00488090
mov dword [esp + 0x192c], eax
mov eax, dword [esp + 0x192c]
test byte [eax + 5], 1
jne 0x476bed
mov eax, dword [esp + 0x192c]
mov dword [esp + 0x19d8], eax
cmp dword [esp + 0x19d8], 0
je 0x4769cc
cmp dword [0x4f5a7c], 0
je 0x4769cc
cmp dword [0x4f5a80], 0
jne 0x4769d9
mov byte [esp + 0x19df], 0
jmp 0x476bd4
mov dword [esp + 0x19d4], 0
cmp dword [esp + 0x19d4], 4
jae 0x476a4f
mov dword [esp + 0x19d0], 0
cmp dword [esp + 0x19d0], 1
jae 0x476a3c
mov eax, dword [esp + 0x19d0]
movzx esi, byte [eax + 0x4f5009]
mov eax, dword [esp + 0x19d8]
mov ecx, dword [esp + 0x19d4]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x19d0]
add eax, 1
mov dword [esp + 0x19d0], eax
jmp 0x4769f9
mov eax, dword [esp + 0x19d4]
add eax, 1
mov dword [esp + 0x19d4], eax
jmp 0x4769e4
mov ecx, dword [0x4f5a80]
mov eax, dword [esp + 0x19d8]
movzx eax, byte [eax + 4]
mov dword [esp], eax
call fcn.004ab540
sub esp, 4
mov eax, dword [eax]
mov dword [esp + 0x19cc], eax
mov dword [esp + 0x19c8], 0
cmp dword [esp + 0x19c8], 4
jae 0x476aeb
mov dword [esp + 0x19c4], 0
cmp dword [esp + 0x19c4], 1
jae 0x476ad8
mov eax, dword [esp + 0x19c4]
movzx edx, byte [eax + 0x4f5009]
mov eax, dword [esp + 0x19c8]
movzx ecx, byte [esp + eax + 0x19cc]
xor ecx, edx
mov byte [esp + eax + 0x19cc], cl
mov eax, dword [esp + 0x19c4]
add eax, 1
mov dword [esp + 0x19c4], eax
jmp 0x476a94
mov eax, dword [esp + 0x19c8]
add eax, 1
mov dword [esp + 0x19c8], eax
jmp 0x476a7f
mov eax, dword [esp + 0x19cc]
mov esi, dword [esp + 0x19d8]
mov ecx, dword [esi]
mov edx, dword [esi + 0xa]
movzx edi, byte [esi + 5]
and edi, 1
mov esi, esp
mov dword [esi], edi
call eax
sub esp, 4
mov byte [esp + 0x37], al
jmp 0x476b14
mov al, byte [esp + 0x37]
and al, 1
mov byte [0x4f62f4], al
mov dword [esp + 0x19cc], 0
mov eax, dword [esp + 0x19d8]
mov cl, byte [eax + 5]
and cl, 1
dec cl
mov eax, dword [esp + 0x19d8]
and cl, 1
mov byte [eax + 5], cl
mov dword [esp + 0x19c0], 0
cmp dword [esp + 0x19c0], 4
jae 0x476bbc
mov dword [esp + 0x19bc], 0
cmp dword [esp + 0x19bc], 1
jae 0x476ba9
mov eax, dword [esp + 0x19bc]
movzx esi, byte [eax + 0x4f5009]
mov eax, dword [esp + 0x19d8]
mov ecx, dword [esp + 0x19c0]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x19bc]
add eax, 1
mov dword [esp + 0x19bc], eax
jmp 0x476b66
mov eax, dword [esp + 0x19c0]
add eax, 1
mov dword [esp + 0x19c0], eax
jmp 0x476b51
mov al, byte [0x4f62f4]
and al, 1
mov byte [esp + 0x19df], al
jmp 0x476bd4
test byte [esp + 0x19df], 1
jne 0x476beb
mov byte [esp + 0x193f], 0
jmp 0x477050
jmp 0x476bed
jmp 0x476bef
mov eax, dword [esp + 0x1938]
mov dword [esp + 0x1928], eax
mov dword [esp + 0x1924], 0
mov eax, dword [esp + 0x1924]
cmp eax, dword [esp + 0x1934]
jae 0x476ddf
mov dword [esp + 0x1920], 0
cmp dword [esp + 0x1920], 4
jae 0x476cab
mov dword [esp + 0x191c], 0
cmp dword [esp + 0x191c], 4
jae 0x476c95
mov eax, dword [esp + 0x1920]
movzx ecx, byte [eax + 0x4f5b44]
lea eax, [0x4f5a84]
shl ecx, 2
add eax, ecx
mov ecx, dword [esp + 0x191c]
movzx esi, byte [eax + ecx]
mov eax, dword [esp + 0x1928]
mov ecx, dword [esp + 0x1924]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x191c]
add eax, 1
mov dword [esp + 0x191c], eax
jmp 0x476c3c
mov eax, dword [esp + 0x1920]
add eax, 1
mov dword [esp + 0x1920], eax
jmp 0x476c27
mov dword [esp + 0x1918], 0
cmp dword [esp + 0x1918], 8
jae 0x476d3a
mov dword [esp + 0x1914], 0
cmp dword [esp + 0x1914], 4
jae 0x476d24
mov eax, dword [esp + 0x1918]
movzx ecx, byte [eax + 0x4f5b48]
lea eax, [0x4f5ac4]
shl ecx, 2
add eax, ecx
mov ecx, dword [esp + 0x1914]
movzx esi, byte [eax + ecx]
mov eax, dword [esp + 0x1928]
mov ecx, dword [esp + 0x1924]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x1914]
add eax, 1
mov dword [esp + 0x1914], eax
jmp 0x476ccb
mov eax, dword [esp + 0x1918]
add eax, 1
mov dword [esp + 0x1918], eax
jmp 0x476cb6
mov dword [esp + 0x1910], 0
cmp dword [esp + 0x1910], 0xc
jae 0x476dc9
mov dword [esp + 0x190c], 0
cmp dword [esp + 0x190c], 4
jae 0x476db3
mov eax, dword [esp + 0x1910]
movzx ecx, byte [eax + 0x4f5b50]
lea eax, [0x4f5b04]
shl ecx, 2
add eax, ecx
mov ecx, dword [esp + 0x190c]
movzx esi, byte [eax + ecx]
mov eax, dword [esp + 0x1928]
mov ecx, dword [esp + 0x1924]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x190c]
add eax, 1
mov dword [esp + 0x190c], eax
jmp 0x476d5a
mov eax, dword [esp + 0x1910]
add eax, 1
mov dword [esp + 0x1910], eax
jmp 0x476d45
mov eax, dword [esp + 0x1924]
add eax, 1
mov dword [esp + 0x1924], eax
jmp 0x476c08
test byte [esp + 0x1933], 1
je 0x477048
mov eax, dword [esp + 0x192c]
test byte [eax + 5], 1
je 0x477046
mov eax, dword [esp + 0x192c]
mov dword [esp + 0x19fc], eax
cmp dword [esp + 0x19fc], 0
je 0x476e28
cmp dword [0x4f5a7c], 0
je 0x476e28
cmp dword [0x4f5a80], 0
jne 0x476e35
mov byte [esp + 0x1a03], 0
jmp 0x477030
mov dword [esp + 0x19f8], 0
cmp dword [esp + 0x19f8], 4
jae 0x476eab
mov dword [esp + 0x19f4], 0
cmp dword [esp + 0x19f4], 1
jae 0x476e98
mov eax, dword [esp + 0x19f4]
movzx esi, byte [eax + 0x4f5009]
mov eax, dword [esp + 0x19fc]
mov ecx, dword [esp + 0x19f8]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x19f4]
add eax, 1
mov dword [esp + 0x19f4], eax
jmp 0x476e55
mov eax, dword [esp + 0x19f8]
add eax, 1
mov dword [esp + 0x19f8], eax
jmp 0x476e40
mov ecx, dword [0x4f5a80]
mov eax, dword [esp + 0x19fc]
movzx eax, byte [eax + 4]
mov dword [esp], eax
call fcn.004ab540
sub esp, 4
mov eax, dword [eax]
mov dword [esp + 0x19f0], eax
mov dword [esp + 0x19ec], 0
cmp dword [esp + 0x19ec], 4
jae 0x476f47
mov dword [esp + 0x19e8], 0
cmp dword [esp + 0x19e8], 1
jae 0x476f34
mov eax, dword [esp + 0x19e8]
movzx edx, byte [eax + 0x4f5009]
mov eax, dword [esp + 0x19ec]
movzx ecx, byte [esp + eax + 0x19f0]
xor ecx, edx
mov byte [esp + eax + 0x19f0], cl
mov eax, dword [esp + 0x19e8]
add eax, 1
mov dword [esp + 0x19e8], eax
jmp 0x476ef0
mov eax, dword [esp + 0x19ec]
add eax, 1
mov dword [esp + 0x19ec], eax
jmp 0x476edb
mov eax, dword [esp + 0x19f0]
mov esi, dword [esp + 0x19fc]
mov ecx, dword [esi]
mov edx, dword [esi + 0xa]
movzx edi, byte [esi + 5]
and edi, 1
mov esi, esp
mov dword [esi], edi
call eax
sub esp, 4
mov byte [esp + 0x36], al
jmp 0x476f70
mov al, byte [esp + 0x36]
and al, 1
mov byte [0x4f62f4], al
mov dword [esp + 0x19f0], 0
mov eax, dword [esp + 0x19fc]
mov cl, byte [eax + 5]
and cl, 1
dec cl
mov eax, dword [esp + 0x19fc]
and cl, 1
mov byte [eax + 5], cl
mov dword [esp + 0x19e4], 0
cmp dword [esp + 0x19e4], 4
jae 0x477018
mov dword [esp + 0x19e0], 0
cmp dword [esp + 0x19e0], 1
jae 0x477005
mov eax, dword [esp + 0x19e0]
movzx esi, byte [eax + 0x4f5009]
mov eax, dword [esp + 0x19fc]
mov ecx, dword [esp + 0x19e4]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x19e0]
add eax, 1
mov dword [esp + 0x19e0], eax
jmp 0x476fc2
mov eax, dword [esp + 0x19e4]
add eax, 1
mov dword [esp + 0x19e4], eax
jmp 0x476fad
mov al, byte [0x4f62f4]
and al, 1
mov byte [esp + 0x1a03], al
jmp 0x477030
test byte [esp + 0x1a03], 1
jne 0x477044
mov byte [esp + 0x193f], 0
jmp 0x477050
jmp 0x477046
jmp 0x477048
mov byte [esp + 0x193f], 1
mov byte [esp + 0x14db], 1
test byte [esp + 0x14db], 1
jne 0x477078
lea ecx, [esp + 0x13d4]
call fcn.004b36e0
jmp 0x477078
lea ecx, [esp + 0x13d4]
call fcn.00489be0
mov edx, dword [esp + 0x44]
mov esi, eax
mov eax, dword [esp + 0x40]
mov ecx, esp
mov dword [ecx + 4], esi
mov dword [ecx], edx
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0x80000000
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
call eax
sub esp, 0x18
mov dword [esp + 0x30], eax
jmp 0x4770bc
lea ecx, [esp + 0x13d4]
call fcn.004b36e0
mov eax, dword [esp + 0x30]
mov dword [esp + 0x13e0], eax
cmp dword [esp + 0x13e0], 0
jne 0x47744e
mov eax, dword [esp + 0x140c]
mov edx, dword [esp + 0x13f0]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x4770fa
lea eax, [esp + 0x13d3]
mov dword [esp + 0x14e8], eax
lea eax, [esp + 0x1480]
mov dword [esp + 0x14e4], eax
lea eax, [esp + 0x1a14]
mov dword [esp + 0x1a1c], eax
mov eax, dword [esp + 0x1a1c]
mov dword [esp + 0x1a78], 0x30
mov ecx, dword [esp + 0x1a78]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x1a74], ecx
mov ecx, dword [esp + 0x1a74]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x1a14]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1a08]
mov dword [esp + 0x1a2c], ecx
mov dword [esp + 0x1a28], eax
mov eax, dword [esp + 0x1a2c]
mov ecx, dword [esp + 0x1a28]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1a28]
mov dword [esp + 0x1a7c], ecx
mov ecx, dword [esp + 0x1a7c]
mov edx, dword [esp + 0x1a7c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1a20], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x1a24], ecx
mov ecx, dword [esp + 0x1a28]
add ecx, dword [esp + 0x1a20]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1a24]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1a08]
mov dword [esp + 0x1a30], eax
mov ecx, dword [esp + 0x1a30]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x477376
lea eax, [esp + 0x1a08]
mov dword [esp + 0x1a34], eax
mov eax, dword [esp + 0x1a34]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x1a04], eax
mov eax, dword [esp + 0x1a04]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x1a04], ecx
cmp eax, 0
je 0x477374
mov eax, dword [esp + 0x1a04]
lea ecx, [esp + 0x1a08]
mov dword [esp + 0x1a4c], ecx
mov dword [esp + 0x1a48], eax
mov eax, dword [esp + 0x1a4c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1a48]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x1a54], 0x50993ac7
mov dword [esp + 0x1a50], 0x7c237df0
mov eax, dword [esp + 0x1a54]
mov dword [esp + 0x1a44], ecx
mov dword [esp + 0x1a40], eax
mov eax, dword [esp + 0x1a40]
mov dword [esp + 0x1a3c], eax
mov eax, dword [esp + 0x1a44]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x1a44], ecx
mov al, byte [eax]
mov byte [esp + 0x1a3b], al
cmp byte [esp + 0x1a3b], 0
je 0x477347
mov ecx, dword [esp + 0x1a3c]
mov al, byte [esp + 0x1a3b]
mov dword [esp + 0x1a84], ecx
mov byte [esp + 0x1a83], al
mov eax, dword [esp + 0x1a84]
mov dword [esp + 0x2c], eax
movsx eax, byte [esp + 0x1a83]
cmp eax, 0x41
jl 0x47731f
movsx eax, byte [esp + 0x1a83]
cmp eax, 0x5a
jg 0x47731f
movsx eax, byte [esp + 0x1a83]
or eax, 0x20
mov dword [esp + 0x28], eax
jmp 0x47732b
movsx eax, byte [esp + 0x1a83]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x1a3c], eax
jmp 0x4772a7
mov eax, dword [esp + 0x1a3c]
mov dword [esp + 0x1a5c], 0x50993ac7
mov dword [esp + 0x1a58], 0x7c237df0
mov ecx, dword [esp + 0x1a58]
cmp eax, ecx
je 0x4773a4
jmp 0x477217
jmp 0x477376
lea eax, [esp + 0x1a14]
mov dword [esp + 0x1a70], eax
mov eax, dword [esp + 0x1a70]
mov ecx, dword [eax]
mov dword [esp + 0x1a88], ecx
mov ecx, dword [esp + 0x1a88]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x477156
mov eax, dword [esp + 0x1a04]
lea ecx, [esp + 0x1a08]
mov dword [esp + 0x1a6c], ecx
mov dword [esp + 0x1a68], eax
mov eax, dword [esp + 0x1a6c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x1c]
add ecx, edx
mov dword [esp + 0x1a64], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x24]
add ecx, edx
mov dword [esp + 0x1a60], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x1a64]
mov edx, dword [esp + 0x1a60]
mov esi, dword [esp + 0x1a68]
movzx edx, word [edx + esi*2]
mov ecx, dword [ecx + edx*4]
add eax, ecx
mov dword [esp + 0x1a18], eax
mov eax, dword [esp + 0x1a18]
mov ecx, dword [esp + 0x14e4]
mov edx, dword [ecx]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x47742b
jmp 0x47742d
jmp 0x47744e
mov ecx, dword [esp + 0x3ac]
mov eax, esp
mov dword [eax], 0x1000
call fcn.00489c00
sub esp, 4
jmp 0x477467
mov dword [esp + 0x13cc], 0
mov eax, dword [esp + 0x1424]
mov edx, dword [esp + 0x13e0]
mov ecx, esp
lea esi, [esp + 0x13cc]
mov dword [ecx + 0xc], esi
lea esi, [esp + 0x3cc]
mov dword [ecx + 4], esi
mov dword [ecx], edx
mov dword [ecx + 8], 0x1000
call eax
sub esp, 0x10
mov dword [esp + 0x24], eax
jmp 0x4774aa
mov eax, dword [esp + 0x24]
cmp eax, 0
je 0x477530
cmp dword [esp + 0x13cc], 0
jbe 0x477530
mov ecx, dword [esp + 0x3ac]
call fcn.00489d40
mov dword [esp + 0x3c4], eax
mov eax, esp
lea ecx, [esp + 0x3c4]
mov dword [eax], ecx
lea ecx, [esp + 0x3c8]
call fcn.00489d70
sub esp, 4
mov ecx, dword [esp + 0x3ac]
mov eax, dword [esp + 0x13cc]
lea edx, [esp + eax + 0x3cc]
mov esi, dword [esp + 0x3c8]
mov eax, esp
mov dword [eax], esi
mov dword [eax + 8], edx
lea edx, [esp + 0x3cc]
mov dword [eax + 4], edx
call fcn.00489cd0
sub esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x477525
mov eax, dword [esp + 0x20]
mov dword [esp + 0x3c0], eax
jmp 0x477532
cmp dword [esp + 0x13cc], 0
ja 0x477472
mov ecx, dword [esp + 0x3ac]
mov byte [esp + 0x3bf], 0
mov eax, esp
lea edx, [esp + 0x3bf]
mov dword [eax], edx
call fcn.00489da0
sub esp, 4
jmp 0x477564
mov eax, dword [esp + 0x140c]
mov edx, dword [esp + 0x13e0]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x47757d
mov eax, dword [esp + 0x140c]
mov edx, dword [esp + 0x13f0]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x477596
lea eax, [esp + 0x3be]
mov dword [esp + 0x14f0], eax
lea eax, [esp + 0x1480]
mov dword [esp + 0x14ec], eax
lea eax, [esp + 0x1a9c]
mov dword [esp + 0x1aa4], eax
mov eax, dword [esp + 0x1aa4]
mov dword [esp + 0x1b00], 0x30
mov ecx, dword [esp + 0x1b00]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x1afc], ecx
mov ecx, dword [esp + 0x1afc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x1a9c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1a90]
mov dword [esp + 0x1ab4], ecx
mov dword [esp + 0x1ab0], eax
mov eax, dword [esp + 0x1ab4]
mov ecx, dword [esp + 0x1ab0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1ab0]
mov dword [esp + 0x1b04], ecx
mov ecx, dword [esp + 0x1b04]
mov edx, dword [esp + 0x1b04]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1aa8], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x1aac], ecx
mov ecx, dword [esp + 0x1ab0]
add ecx, dword [esp + 0x1aa8]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1aac]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1a90]
mov dword [esp + 0x1ab8], eax
mov ecx, dword [esp + 0x1ab8]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x477812
lea eax, [esp + 0x1a90]
mov dword [esp + 0x1abc], eax
mov eax, dword [esp + 0x1abc]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x1a8c], eax
mov eax, dword [esp + 0x1a8c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x1a8c], ecx
cmp eax, 0
je 0x477810
mov eax, dword [esp + 0x1a8c]
lea ecx, [esp + 0x1a90]
mov dword [esp + 0x1ad4], ecx
mov dword [esp + 0x1ad0], eax
mov eax, dword [esp + 0x1ad4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1ad0]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x1adc], 0xf3079ed0
mov dword [esp + 0x1ad8], 0xc908a331
mov eax, dword [esp + 0x1adc]
mov dword [esp + 0x1acc], ecx
mov dword [esp + 0x1ac8], eax
mov eax, dword [esp + 0x1ac8]
mov dword [esp + 0x1ac4], eax
mov eax, dword [esp + 0x1acc]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x1acc], ecx
mov al, byte [eax]
mov byte [esp + 0x1ac3], al
cmp byte [esp + 0x1ac3], 0
je 0x4777e3
mov ecx, dword [esp + 0x1ac4]
mov al, byte [esp + 0x1ac3]
mov dword [esp + 0x1b0c], ecx
mov byte [esp + 0x1b0b], al
mov eax, dword [esp + 0x1b0c]
mov dword [esp + 0x1c], eax
movsx eax, byte [esp + 0x1b0b]
cmp eax, 0x41
jl 0x4777bb
movsx eax, byte [esp + 0x1b0b]
cmp eax, 0x5a
jg 0x4777bb
movsx eax, byte [esp + 0x1b0b]
or eax, 0x20
mov dword [esp + 0x18], eax
jmp 0x4777c7
movsx eax, byte [esp + 0x1b0b]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x1ac4], eax
jmp 0x477743
mov eax, dword [esp + 0x1ac4]
mov dword [esp + 0x1ae4], 0xf3079ed0
mov dword [esp + 0x1ae0], 0xc908a331
mov ecx, dword [esp + 0x1ae0]
cmp eax, ecx
je 0x477840
jmp 0x4776b3
jmp 0x477812
lea eax, [esp + 0x1a9c]
mov dword [esp + 0x1af8], eax
mov eax, dword [esp + 0x1af8]
mov ecx, dword [eax]
mov dword [esp + 0x1b10], ecx
mov ecx, dword [esp + 0x1b10]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x4775f2
mov eax, dword [esp + 0x1a8c]
lea ecx, [esp + 0x1a90]
mov dword [esp + 0x1af4], ecx
mov dword [esp + 0x1af0], eax
mov eax, dword [esp + 0x1af4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x1c]
add ecx, edx
mov dword [esp + 0x1aec], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov edx, dword [edx + 0x24]
add ecx, edx
mov dword [esp + 0x1ae8], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x1aec]
mov edx, dword [esp + 0x1ae8]
mov esi, dword [esp + 0x1af0]
movzx edx, word [edx + esi*2]
mov ecx, dword [ecx + edx*4]
add eax, ecx
mov dword [esp + 0x1aa0], eax
mov eax, dword [esp + 0x1aa0]
mov ecx, dword [esp + 0x14ec]
mov edx, dword [ecx]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x4778c7
jmp 0x4778c9
mov dword [esp + 0x3b8], 0
cmp dword [esp + 0x3b8], 0x2b
jae 0x4778f2
mov byte [esp + 0x1487], 1
test byte [esp + 0x1487], 1
jne 0x477900
jmp 0x4778f4
ud2
mov ecx, dword [esp + 0x3ac]
call fcn.00489e10
mov eax, dword [esp + 0x3b0]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret