Function at 0x48a160
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
and esp, 0xfffffff8
sub esp, 0x408
mov eax, dword [ebp + 8]
mov dword [esp + 0x2f0], eax
mov dword [esp + 0x2ec], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
call fcn.004ab560
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 0x32c], eax
mov dword [esp + 0x328], 0
mov dword [esp + 0x324], 0
mov dword [esp + 0x320], 0
mov byte [esp + 0x318], 0
call fcn.004ab650
mov ecx, dword [esp + 0x32c]
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x32c], eax
xor eax, eax
cmp ecx, 0
mov byte [esp + 0x2eb], al
je 0x48a248
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x320]
mov dword [esp], eax
call fcn.004ab6a0
sub esp, 4
movzx ecx, word [eax]
xor eax, eax
cmp ecx, 0x3d
mov byte [esp + 0x2eb], al
je 0x48a248
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x320]
mov eax, esp
mov dword [eax], edx
call fcn.004ab6a0
sub esp, 4
movzx ecx, byte [eax]
mov eax, esp
mov dword [eax], ecx
call fcn.004891e0
mov byte [esp + 0x2ea], al
jmp 0x48a238
mov al, byte [esp + 0x2ea]
mov byte [esp + 0x2eb], al
jmp 0x48a248
mov al, byte [esp + 0x2eb]
movzx eax, al
and eax, 1
cvtsi2sd xmm0, eax
movsd qword [esp + 0x3f8], xmm0
xor eax, eax
je 0x48a267
add dl, dh
movups xmm0, xmmword [esp + 0x3f8]
movsd xmm0, qword [esp + 0x3f8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1d0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x3f0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2dc], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2e4], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2e0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2e0]
mov dl, al
mov eax, dword [esp + 0x2e4]
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 0x48a393
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2d0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2d4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2d4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2d8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2d8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x48a391
mov dword [esp + 0x404], 6
jmp 0x48a4be
jmp 0x48a393
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2c4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2cc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2c8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2c8]
mov dl, al
mov eax, dword [esp + 0x2cc]
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 0x48a4bc
movsd xmm0, qword [esp + 0x3f0]
movsd qword [esp + 0x2b8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x2b0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2c0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x2b4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2b4]
movsd xmm0, qword [esp + 0x2b8]
mov dl, al
mov eax, dword [esp + 0x2c0]
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 [0x4eb1e0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x404], eax
jmp 0x48a4be
ud2
mov eax, dword [esp + 0x404]
mov dword [esp + 0x2ac], eax
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x29c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x29c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2a4], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 5
mov dword [esp + 0x2a0], eax
call fcn.004347c0
mov edx, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x2ac]
mov bl, al
mov eax, dword [esp + 0x2a4]
movsx esi, bl
imul edx, esi
add eax, edx
mov dl, byte [0x4f500c]
movsx esi, dl
xor edx, edx
div esi
mov dl, byte [0x4f500d]
movsx edx, dl
sub eax, edx
imul ecx, eax
xor eax, eax
cmp ecx, 0
mov byte [esp + 0x2ab], al
je 0x48a55f
mov al, 1
mov byte [esp + 0x2ab], al
jmp 0x48a55f
mov al, byte [esp + 0x2ab]
test al, 1
jne 0x48a56f
jmp 0x48b12d
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x320]
mov dword [esp], eax
call fcn.004ab6a0
sub esp, 4
mov ax, word [eax]
mov cl, al
mov eax, dword [esp + 0x328]
mov edx, eax
add edx, 1
mov dword [esp + 0x328], edx
mov byte [esp + eax + 0x31c], cl
mov eax, dword [esp + 0x320]
add eax, 1
mov dword [esp + 0x320], eax
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x290], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x290]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x298], eax
call fcn.004347b0
movsx eax, al
shl eax, 0
mov dword [esp + 0x294], eax
call fcn.004347c0
mov ecx, dword [esp + 0x294]
mov dl, al
mov eax, dword [esp + 0x298]
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 0x48b128
mov eax, dword [esp + 0x328]
sub eax, 4
movsd xmm0, qword [0x4eb1f8]
xorps xmm1, xmm1
movsd qword [esp + 0x280], xmm1
movsd qword [esp + 0x288], xmm0
je 0x48a668
movsd xmm0, qword [esp + 0x280]
movsd qword [esp + 0x288], xmm0
movsd xmm0, qword [esp + 0x288]
movsd qword [esp + 0x3e0], xmm0
xor eax, eax
je 0x48a67f
add dl, dh
movups xmm0, xmmword [esp + 0x3e0]
movsd xmm0, qword [esp + 0x3e0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1d0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x3d8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x274], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x274]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x27c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x278], eax
call fcn.004347c0
mov ecx, dword [esp + 0x278]
mov dl, al
mov eax, dword [esp + 0x27c]
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 0x48a7ab
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x268], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x268]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x26c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x26c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x270], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x270]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x48a7a9
mov dword [esp + 0x3ec], 6
jmp 0x48a8d6
jmp 0x48a7ab
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x25c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x25c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x264], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x260], eax
call fcn.004347c0
mov ecx, dword [esp + 0x260]
mov dl, al
mov eax, dword [esp + 0x264]
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 0x48a8d4
movsd xmm0, qword [esp + 0x3d8]
movsd qword [esp + 0x250], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x248], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x248]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x258], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x24c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x24c]
movsd xmm0, qword [esp + 0x250]
mov dl, al
mov eax, dword [esp + 0x258]
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 [0x4eb1e0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x3ec], eax
jmp 0x48a8d6
ud2
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x244], eax
mov al, byte [0x4f500b]
movsx eax, al
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 + 0x240], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 6
mov dword [esp + 0x23c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x23c]
mov dl, al
mov eax, dword [esp + 0x240]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esp + 0x244]
mov dl, byte [0x4f500d]
movsx edx, dl
sub ecx, edx
imul eax, ecx
cmp eax, 0
je 0x48b126
mov dword [esp + 0x30c], 0
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x21c], eax
movsx eax, byte [0x4f500b]
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
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
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm0, eax
movaps xmm1, xmmword [0x4eb1e0]
por xmm0, xmm1
movsd xmm1, qword [0x4eb1f0]
subsd xmm0, xmm1
movsd qword [esp + 0x3c8], xmm0
xor eax, eax
je 0x48aa14
add dl, dh
movups xmm0, xmmword [esp + 0x3c8]
movsd xmm0, qword [esp + 0x3c8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1d0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x3c0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x22c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x22c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x234], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x230], eax
call fcn.004347c0
mov ecx, dword [esp + 0x230]
mov dl, al
mov eax, dword [esp + 0x234]
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 0x48ab40
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 0x48ab3e
mov dword [esp + 0x3d4], 6
jmp 0x48ac6b
jmp 0x48ab40
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 0x48ac69
movsd xmm0, qword [esp + 0x3c0]
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 [0x4eb1e0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x3d4], eax
jmp 0x48ac6b
ud2
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x21c]
mov ecx, dword [esp + 0x1ec]
cmp eax, ecx
jge 0x48ad2b
mov dword [esp + 0x328], 0
cmp dword [esp + 0x328], 4
jge 0x48ad13
mov eax, dword [esp + 0x328]
movzx eax, byte [esp + eax + 0x31c]
lea ecx, [0x4f5f8c]
xor edx, edx
movzx eax, ax
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004b41f0
sub esp, 8
mov cl, al
mov eax, dword [esp + 0x328]
mov byte [esp + eax + 0x31c], cl
mov eax, dword [esp + 0x328]
add eax, 1
mov dword [esp + 0x328], eax
jmp 0x48ac9a
jmp 0x48ad15
mov eax, dword [esp + 0x30c]
add eax, 1
mov dword [esp + 0x30c], eax
jmp 0x48a974
movzx eax, byte [esp + 0x31c]
shl eax, 2
movzx ecx, byte [esp + 0x31d]
and ecx, 0x30
sar ecx, 4
add eax, ecx
mov byte [esp + 0x319], al
movzx eax, byte [esp + 0x31d]
and eax, 0xf
shl eax, 4
movzx ecx, byte [esp + 0x31e]
and ecx, 0x3c
sar ecx, 2
add eax, ecx
mov byte [esp + 0x31a], al
movzx eax, byte [esp + 0x31e]
and eax, 3
shl eax, 6
movzx ecx, byte [esp + 0x31f]
add eax, ecx
mov byte [esp + 0x31b], al
mov dword [esp + 0x308], 0
mov eax, dword [esp + 0x308]
mov dword [esp + 0x1d0], eax
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1d4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1dc], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1d8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1d8]
mov dl, al
mov eax, dword [esp + 0x1dc]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
add eax, ecx
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm0, eax
movaps xmm1, xmmword [0x4eb1e0]
por xmm0, xmm1
movsd xmm1, qword [0x4eb1f0]
subsd xmm0, xmm1
movsd qword [esp + 0x3b0], xmm0
xor eax, eax
je 0x48ae3e
add dl, dh
movups xmm0, xmmword [esp + 0x3b0]
movsd xmm0, qword [esp + 0x3b0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1d0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x3a8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1e0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e8], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1e4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1e4]
mov dl, al
mov eax, dword [esp + 0x1e8]
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 0x48af6a
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1c4], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c8], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1c8]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1cc], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1cc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x48af68
mov dword [esp + 0x3bc], 6
jmp 0x48b095
jmp 0x48af6a
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1b8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c0], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1bc], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1bc]
mov dl, al
mov eax, dword [esp + 0x1c0]
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 0x48b093
movsd xmm0, qword [esp + 0x3a8]
movsd qword [esp + 0x1a8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1a0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b4], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1a4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1a4]
movsd xmm0, qword [esp + 0x1a8]
mov dl, al
mov eax, dword [esp + 0x1b4]
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 [0x4eb1e0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x3bc], eax
jmp 0x48b095
ud2
mov eax, dword [esp + 0x3bc]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x19c]
cmp eax, ecx
jge 0x48b11b
mov dword [esp + 0x328], 0
cmp dword [esp + 0x328], 3
jge 0x48b103
mov ecx, dword [esp + 0x2f0]
mov eax, dword [esp + 0x328]
movzx edx, byte [esp + eax + 0x319]
mov eax, esp
mov dword [eax], edx
call fcn.004ab6d0
sub esp, 4
jmp 0x48b0ee
jmp 0x48b0f0
mov eax, dword [esp + 0x328]
add eax, 1
mov dword [esp + 0x328], eax
jmp 0x48b0c0
jmp 0x48b105
mov eax, dword [esp + 0x308]
add eax, 1
mov dword [esp + 0x308], eax
jmp 0x48ad9c
mov dword [esp + 0x328], 0
jmp 0x48b128
jmp 0x48a1c6
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x190], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x190]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x198], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x194], eax
call fcn.004347c0
mov ecx, dword [esp + 0x194]
mov dl, al
mov eax, dword [esp + 0x198]
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 0x48bf94
cvtsi2sd xmm0, dword [esp + 0x328]
movsd qword [esp + 0x398], xmm0
xor eax, eax
je 0x48b1bd
add dl, dh
movups xmm0, xmmword [esp + 0x398]
movsd xmm0, qword [esp + 0x398]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1d0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x390], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x184], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x184]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x18c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x188], eax
call fcn.004347c0
mov ecx, dword [esp + 0x188]
mov dl, al
mov eax, dword [esp + 0x18c]
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 0x48b2e9
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x178], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x178]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x17c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x17c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x180], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x180]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x48b2e7
mov dword [esp + 0x3a4], 6
jmp 0x48b414
jmp 0x48b2e9
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x16c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x16c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x174], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x170], eax
call fcn.004347c0
mov ecx, dword [esp + 0x170]
mov dl, al
mov eax, dword [esp + 0x174]
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 0x48b412
movsd xmm0, qword [esp + 0x390]
movsd qword [esp + 0x160], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x158], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x158]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x168], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x15c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x160]
mov dl, al
mov eax, dword [esp + 0x168]
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 [0x4eb1e0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x3a4], eax
jmp 0x48b414
ud2
mov eax, dword [esp + 0x3a4]
mov dword [esp + 0x154], eax
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x148], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x148]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x150], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 3
mov dword [esp + 0x14c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x14c]
mov dl, al
mov eax, dword [esp + 0x150]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esp + 0x154]
mov dl, byte [0x4f500d]
movsx edx, dl
sub ecx, edx
imul eax, ecx
cmp eax, 0
je 0x48bf92
mov dword [esp + 0x304], 0
mov eax, dword [esp + 0x304]
mov dword [esp + 0x12c], eax
movsx eax, byte [0x4f500b]
mov dword [esp + 0x130], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x130]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x138], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x134], eax
call fcn.004347c0
mov ecx, dword [esp + 0x134]
mov dl, al
mov eax, dword [esp + 0x138]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*8]
add eax, ecx
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm0, eax
movaps xmm1, xmmword [0x4eb1e0]
por xmm0, xmm1
movsd xmm1, qword [0x4eb1f0]
subsd xmm0, xmm1
movsd qword [esp + 0x380], xmm0
xor eax, eax
je 0x48b554
add dl, dh
movups xmm0, xmmword [esp + 0x380]
movsd xmm0, qword [esp + 0x380]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1d0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x378], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x13c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x13c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x144], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x140], eax
call fcn.004347c0
mov ecx, dword [esp + 0x140]
mov dl, al
mov eax, dword [esp + 0x144]
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 0x48b680
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x120], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x120]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x124], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x124]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x128], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x128]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x48b67e
mov dword [esp + 0x38c], 6
jmp 0x48b7ab
jmp 0x48b680
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x114], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x114]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x11c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x118], eax
call fcn.004347c0
mov ecx, dword [esp + 0x118]
mov dl, al
mov eax, dword [esp + 0x11c]
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 0x48b7a9
movsd xmm0, qword [esp + 0x378]
movsd qword [esp + 0x108], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x100], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x100]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x110], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x104], eax
call fcn.004347c0
mov ecx, dword [esp + 0x104]
movsd xmm0, qword [esp + 0x108]
mov dl, al
mov eax, dword [esp + 0x110]
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 [0x4eb1e0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x38c], eax
jmp 0x48b7ab
ud2
mov eax, dword [esp + 0x38c]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0xfc]
cmp eax, ecx
jge 0x48b81d
mov eax, dword [esp + 0x328]
mov dword [esp + 0x324], eax
cmp dword [esp + 0x324], 4
jge 0x48b805
mov eax, dword [esp + 0x324]
mov byte [esp + eax + 0x31c], 0
mov eax, dword [esp + 0x324]
add eax, 1
mov dword [esp + 0x324], eax
jmp 0x48b7d9
jmp 0x48b807
mov eax, dword [esp + 0x304]
add eax, 1
mov dword [esp + 0x304], eax
jmp 0x48b4b2
mov dword [esp + 0x300], 0
mov eax, dword [esp + 0x300]
mov dword [esp + 0xe0], eax
movsx eax, byte [0x4f500b]
mov dword [esp + 0xe4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0xe4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xec], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0xe8], eax
call fcn.004347c0
mov ecx, dword [esp + 0xe8]
mov dl, al
mov eax, dword [esp + 0xec]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*2]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm0, eax
movaps xmm1, xmmword [0x4eb1e0]
por xmm0, xmm1
movsd xmm1, qword [0x4eb1f0]
subsd xmm0, xmm1
movsd qword [esp + 0x368], xmm0
xor eax, eax
je 0x48b8cb
add dl, dh
movups xmm0, xmmword [esp + 0x368]
movsd xmm0, qword [esp + 0x368]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1d0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x360], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0xf0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0xf0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xf8], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0xf4], eax
call fcn.004347c0
mov ecx, dword [esp + 0xf4]
mov dl, al
mov eax, dword [esp + 0xf8]
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 0x48b9f7
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0xd4], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0xd4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xd8], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0xd8]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xdc], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0xdc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x48b9f5
mov dword [esp + 0x374], 6
jmp 0x48bb22
jmp 0x48b9f7
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0xc8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0xc8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xd0], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0xcc], eax
call fcn.004347c0
mov ecx, dword [esp + 0xcc]
mov dl, al
mov eax, dword [esp + 0xd0]
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 0x48bb20
movsd xmm0, qword [esp + 0x360]
movsd qword [esp + 0xb8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0xb0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0xb0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xc4], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0xb4], eax
call fcn.004347c0
mov ecx, dword [esp + 0xb4]
movsd xmm0, qword [esp + 0xb8]
mov dl, al
mov eax, dword [esp + 0xc4]
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 [0x4eb1e0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x374], eax
jmp 0x48bb22
ud2
mov eax, dword [esp + 0x374]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xac]
cmp eax, ecx
jge 0x48bbbf
mov dword [esp + 0x324], 0
cmp dword [esp + 0x324], 4
jge 0x48bba7
mov eax, dword [esp + 0x324]
movzx eax, byte [esp + eax + 0x31c]
lea ecx, [0x4f5f8c]
xor edx, edx
movzx eax, ax
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004b41f0
sub esp, 8
mov cl, al
mov eax, dword [esp + 0x324]
mov byte [esp + eax + 0x31c], cl
mov eax, dword [esp + 0x324]
add eax, 1
mov dword [esp + 0x324], eax
jmp 0x48bb4d
jmp 0x48bba9
mov eax, dword [esp + 0x300]
add eax, 1
mov dword [esp + 0x300], eax
jmp 0x48b828
movzx eax, byte [esp + 0x31c]
shl eax, 2
movzx ecx, byte [esp + 0x31d]
and ecx, 0x30
sar ecx, 4
add eax, ecx
mov byte [esp + 0x319], al
movzx eax, byte [esp + 0x31d]
and eax, 0xf
shl eax, 4
movzx ecx, byte [esp + 0x31e]
and ecx, 0x3c
sar ecx, 2
add eax, ecx
mov byte [esp + 0x31a], al
movzx eax, byte [esp + 0x31e]
and eax, 3
shl eax, 6
movzx ecx, byte [esp + 0x31f]
add eax, ecx
mov byte [esp + 0x31b], al
mov dword [esp + 0x2fc], 0
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x90], eax
movsx eax, byte [0x4f500b]
mov dword [esp + 0x94], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x94]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x9c], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x98], eax
call fcn.004347c0
mov ecx, dword [esp + 0x98]
mov dl, al
mov eax, dword [esp + 0x9c]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*4]
add eax, ecx
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm0, eax
movaps xmm1, xmmword [0x4eb1e0]
por xmm0, xmm1
movsd xmm1, qword [0x4eb1f0]
subsd xmm0, xmm1
movsd qword [esp + 0x350], xmm0
xor eax, eax
je 0x48bcd2
add dl, dh
movups xmm0, xmmword [esp + 0x350]
movsd xmm0, qword [esp + 0x350]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1d0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x348], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0xa0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0xa0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xa8], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0xa4], eax
call fcn.004347c0
mov ecx, dword [esp + 0xa4]
mov dl, al
mov eax, dword [esp + 0xa8]
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 0x48bdfe
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x84], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x84]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x88], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x88]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x8c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x8c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x48bdfc
mov dword [esp + 0x35c], 6
jmp 0x48bf05
jmp 0x48bdfe
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x78], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x78]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x80], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x7c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x7c]
mov dl, al
mov eax, dword [esp + 0x80]
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 0x48bf03
movsd xmm0, qword [esp + 0x348]
movsd qword [esp + 0x68], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x60], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x60]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x74], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x64], eax
call fcn.004347c0
mov ecx, dword [esp + 0x64]
movsd xmm0, qword [esp + 0x68]
mov dl, al
mov eax, dword [esp + 0x74]
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 [0x4eb1e0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x35c], eax
jmp 0x48bf05
ud2
mov eax, dword [esp + 0x35c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x5c]
cmp eax, ecx
jge 0x48bf90
mov dword [esp + 0x324], 0
mov eax, dword [esp + 0x324]
mov ecx, dword [esp + 0x328]
sub ecx, 1
cmp eax, ecx
jge 0x48bf78
mov ecx, dword [esp + 0x2f0]
mov eax, dword [esp + 0x324]
movzx edx, byte [esp + eax + 0x319]
mov eax, esp
mov dword [eax], edx
call fcn.004ab6d0
sub esp, 4
jmp 0x48bf63
jmp 0x48bf65
mov eax, dword [esp + 0x324]
add eax, 1
mov dword [esp + 0x324], eax
jmp 0x48bf2a
jmp 0x48bf7a
mov eax, dword [esp + 0x2fc]
add eax, 1
mov dword [esp + 0x2fc], eax
jmp 0x48bc30
jmp 0x48bf92
jmp 0x48bf94
mov dword [esp + 0x2f8], 0
mov eax, dword [esp + 0x2f8]
mov dword [esp + 0x40], eax
movsx eax, byte [0x4f500b]
mov dword [esp + 0x44], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x44]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4c], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x48], eax
call fcn.004347c0
mov ecx, dword [esp + 0x48]
mov dl, al
mov eax, dword [esp + 0x4c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm0, eax
movaps xmm1, xmmword [0x4eb1e0]
por xmm0, xmm1
movsd xmm1, qword [0x4eb1f0]
subsd xmm0, xmm1
movsd qword [esp + 0x338], xmm0
xor eax, eax
je 0x48c029
add dl, dh
movups xmm0, xmmword [esp + 0x338]
movsd xmm0, qword [esp + 0x338]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb1d0]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x330], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x50], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x50]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x58], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x54], eax
call fcn.004347c0
mov ecx, dword [esp + 0x54]
mov dl, al
mov eax, dword [esp + 0x58]
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 0x48c131
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x34], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x34]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x38], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x38]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x3c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x48c12f
mov dword [esp + 0x344], 6
jmp 0x48c232
jmp 0x48c131
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x28], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x28]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x30], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x2c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2c]
mov dl, al
mov eax, dword [esp + 0x30]
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 0x48c230
movsd xmm0, qword [esp + 0x330]
movsd qword [esp + 0x18], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x10], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x10]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x24], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x14], eax
call fcn.004347c0
mov ecx, dword [esp + 0x14]
movsd xmm0, qword [esp + 0x18]
mov dl, al
mov eax, dword [esp + 0x24]
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 [0x4eb1e0]
por xmm1, xmm2
movsd xmm2, qword [0x4eb1f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x344], eax
jmp 0x48c232
ud2
mov eax, dword [esp + 0x344]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xc]
cmp eax, ecx
jge 0x48c28a
mov dword [esp + 0x2f4], 0
cmp dword [esp + 0x2f4], 0x50
jae 0x48c272
mov byte [esp + 0x318], 1
test byte [esp + 0x318], 1
jne 0x48c298
jmp 0x48c28c
jmp 0x48c274
mov eax, dword [esp + 0x2f8]
add eax, 1
mov dword [esp + 0x2f8], eax
jmp 0x48bf9f
ud2
mov ecx, dword [esp + 0x2f0]
call fcn.004b36e0
mov eax, dword [esp + 0x2ec]
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret