Function at 0x64691f00
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x54
mov ebx, eax
mov ebp, ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 8], ecx
mov edi, dword [esp + 0x70]
mov dword [esp + 0x10], edi
sub edx, 0x1400
cmp edx, 0x11
ja case.0x64691f6e.5130
jmp dword [edx*4 + 0x647ff560]
mov edi, dword [esp + 8]
lea ecx, [edi + edi*8]
shl ecx, 2
imul ecx, dword [esp + 0x10]
mov edi, ebx
mov esi, ebp
rep movsb byte es:[edi], byte [esi]
nop
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
ret
sub eax, 0x1400
cmp eax, 0x11
ja case.0x64691f6e.5130
jmp dword [eax*4 + 0x647ff5a8]
sub eax, 0x1400
cmp eax, 0x11
ja case.0x64691f6e.5130
jmp dword [eax*4 + 0x647ff5f0]
sub eax, 0x1400
cmp eax, 0x11
ja case.0x64691f6e.5130
jmp dword [eax*4 + 0x647ff638]
sub eax, 0x1400
cmp eax, 0x11
ja case.0x64691f6e.5130
jmp dword [eax*4 + 0x647ff680]
sub eax, 0x1400
cmp eax, 0x11
ja case.0x64691f6e.5130
jmp dword [eax*4 + 0x647ff6c8]
sub eax, 0x1400
cmp eax, 0x11
ja case.0x64691f6e.5130
jmp dword [eax*4 + 0x647ff710]
sub eax, 0x1400
cmp eax, 0x11
ja case.0x64691f6e.5130
jmp dword [eax*4 + 0x647ff758]
sub eax, 0x1400
cmp eax, 0x11
ja case.0x64691f6e.5130
jmp dword [eax*4 + 0x647ff7a0]
sub eax, 0x1400
cmp eax, 0x11
ja case.0x64691f6e.5130
jmp dword [eax*4 + 0x647ff7e8]
sub eax, 0x1400
cmp eax, 0x11
ja case.0x64691f6e.5130
jmp dword [eax*4 + 0x647ff830]
sub eax, 0x1400
cmp eax, 0x11
ja case.0x64691f6e.5130
jmp dword [eax*4 + 0x647ff878]
sub eax, 0x1400
cmp eax, 0x11
ja case.0x64691f6e.5130
jmp dword [eax*4 + 0x647ff8c0]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.6469184c
mov edi, dword [esp + 0x10]
mov dword [esp + 0x68], edi
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.64691a1c
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.646918fc
mov edi, dword [esp + 0x10]
mov dword [esp + 0x68], edi
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.6469172c
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.64691b24
mov edi, dword [esp + 0x10]
mov dword [esp + 0x68], edi
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.64691670
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.646915b8
mov edi, dword [esp + 0x10]
mov dword [esp + 0x68], edi
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.64691500
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.646913d8
mov edi, dword [esp + 0x10]
mov dword [esp + 0x68], edi
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.64691328
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.6469127c
mov edi, dword [esp + 0x10]
mov dword [esp + 0x68], edi
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.64690e20
xor ecx, ecx
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
nop
xor eax, eax
mov edi, dword [esp + 8]
test edi, edi
je 0x646921e3
nop
movzx edx, byte [ebp + eax]
mov dx, word [edx + edx + 0x647ffa40]
sar dx, 8
mov byte [ebx + eax], dl
inc eax
cmp dword [esp + 8], eax
jne 0x646921c0
add ebp, dword [esp + 8]
add ebx, dword [esp + 8]
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646921b4
jmp case.0x64691f6e.5130
mov edx, dword [esp + 0x10]
test edx, edx
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea edi, [ecx + ecx*2]
xor esi, esi
mov eax, dword [esp + 8]
test eax, eax
je 0x64692231
mov ecx, dword [esp + 8]
add ecx, ebx
mov eax, ebp
cmp byte [0x647ffe40], 1
je 0x64692240
lea esi, [esi]
mov dl, byte [eax]
add eax, 3
add edx, 0xffffff80
mov byte [ebx], dl
inc ebx
cmp ebx, ecx
jne 0x64692220
add ebp, edi
inc esi
cmp dword [esp + 0x10], esi
jne 0x64692204
jmp case.0x64691f6e.5130
mov dl, byte [eax + 2]
add eax, 3
add edx, 0xffffff80
mov byte [ebx], dl
inc ebx
cmp ebx, ecx
je 0x6469222f
mov dl, byte [eax + 2]
add eax, 3
add edx, 0xffffff80
mov byte [ebx], dl
inc ebx
cmp ebx, ecx
jne 0x64692240
jmp 0x6469222f
mov esi, dword [esp + 0x10]
test esi, esi
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea esi, [ecx + ecx*2]
xor edi, edi
nop
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x646922a2
mov ecx, dword [esp + 8]
add ecx, ebx
mov eax, ebp
cmp byte [0x647ffe40], 1
je 0x646922b0
lea esi, [esi]
mov dl, byte [eax]
mov byte [ebx], dl
add eax, 3
inc ebx
cmp ebx, ecx
jne 0x64692294
add ebp, esi
inc edi
cmp dword [esp + 0x10], edi
jne 0x64692278
jmp case.0x64691f6e.5130
mov dl, byte [eax + 2]
mov byte [ebx], dl
add eax, 3
inc ebx
cmp ebx, ecx
je 0x646922a0
mov dl, byte [eax + 2]
mov byte [ebx], dl
add eax, 3
inc ebx
cmp ebx, ecx
jne 0x646922b0
jmp 0x646922a0
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 3
xor ecx, ecx
lea esi, [esi]
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
je 0x646963a2
mov edi, dword [esp + 8]
jmp 0x64692308
fstp st(0)
mov al, 0x7f
mov byte [ebx + edx], al
inc edx
cmp edi, edx
je 0x6469639c
fld qword [ebp + edx*8]
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x646922f8
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x64696578
fmul dword [0x647fff74]
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov eax, dword [esp + 0x24]
jmp 0x646922fc
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
shl ecx, 3
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
nop
mov eax, dword [esp + 8]
test eax, eax
je 0x646963b8
mov edi, dword [esp + 0x18]
add edi, ebx
mov edx, ebp
cmp byte [0x647ffe40], 1
jne 0x646923cb
jmp 0x64692453
fstp st(0)
mov byte [esp + 0x1c], 0xff
mov cl, 0xff
mov esi, 0x7f
mov eax, esi
mov byte [ebx], al
mov byte [ebx + 1], cl
mov cl, byte [esp + 0x1c]
mov byte [ebx + 2], cl
add ebx, 3
cmp ebx, edi
je 0x646963b4
fld qword [edx]
add edx, 8
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x646923a4
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x6469659c
fmul qword [0x647fff78]
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov eax, dword [esp + 0x24]
mov esi, eax
shr esi, 0x18
mov ecx, eax
shr ecx, 0x10
shr eax, 8
mov byte [esp + 0x1c], al
jmp 0x646923b2
fstp st(0)
mov esi, 0xffffffff
mov cl, 0xff
mov byte [esp + 0x1c], 0x7f
mov eax, esi
mov byte [ebx], al
mov byte [ebx + 1], cl
mov cl, byte [esp + 0x1c]
mov byte [ebx + 2], cl
add ebx, 3
cmp ebx, edi
je 0x646963b4
fld qword [edx]
add edx, 8
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x6469242c
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x64696938
fmul qword [0x647fff78]
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov esi, dword [esp + 0x24]
mov eax, esi
shr eax, 0x18
mov byte [esp + 0x1c], al
mov ecx, esi
shr ecx, 0x10
shr esi, 8
jmp 0x6469243a
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
mov edi, dword [esp + 8]
shl edi, 2
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x646924f4
nop
movzx edx, word [ebp + eax*2]
sub edx, 0x8000
shl edx, 0x10
mov dword [ebx + eax*4], edx
inc eax
cmp dword [esp + 8], eax
jne 0x646924d8
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646924cc
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov eax, dword [esp + 8]
shl eax, 2
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64696462
mov dword [esp + 0x1c], ebx
jmp 0x64692577
movzx ecx, cl
movsx ecx, byte [ecx + 0x647ffe60]
mov edi, ecx
shl edi, 4
mov dword [esp + 0xc], edi
or edx, dword [esp + 0xc]
cmp bx, 0x7f7a
jg 0x64696200
movsx esi, si
add ecx, 3
sar esi, cl
and esi, 0xf
or edx, esi
not edx
mov ecx, dword [esp + 0x1c]
mov byte [ecx + eax], dl
inc eax
cmp dword [esp + 8], eax
je 0x64696458
movzx ecx, word [ebp + eax*4 + 2]
sub ecx, 0x8000
mov edx, ecx
sar dx, 8
and edx, 0x80
mov ebx, ecx
cmp cx, 0x8001
jge 0x6469259c
mov ebx, 0xffff8001
neg ebx
test dx, dx
jne 0x646925a5
mov ebx, ecx
lea esi, [ebx + 0x84]
mov ecx, esi
sar cx, 7
cmp bx, 0x7f7a
jle 0x64692534
mov ecx, 0xff
jmp 0x64692537
mov edi, dword [esp + 0x10]
test edi, edi
je case.0x64691f6e.5130
mov eax, dword [esp + 8]
shl eax, 2
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
lea esi, [esi]
xor eax, eax
mov esi, dword [esp + 8]
test esi, esi
je 0x6469643e
mov dword [esp + 0x1c], ebx
jmp 0x64692658
mov ebx, ecx
lea esi, [ebx + 0x84]
mov ecx, esi
sar cx, 7
cmp bx, 0x7f7a
jg 0x64696218
movzx ecx, cl
movsx ecx, byte [ecx + 0x647ffe60]
mov edi, ecx
shl edi, 4
mov dword [esp + 0xc], edi
or edx, dword [esp + 0xc]
cmp bx, 0x7f7a
jg 0x6469620c
movsx esi, si
add ecx, 3
sar esi, cl
and esi, 0xf
or edx, esi
not edx
mov ecx, dword [esp + 0x1c]
mov byte [ecx + eax], dl
inc eax
cmp dword [esp + 8], eax
je 0x64696434
mov ecx, dword [ebp + eax*4]
sar ecx, 0x10
mov esi, ecx
mov edx, ecx
sar dx, 8
and edx, 0x80
cmp cx, 0x8001
jge 0x64692679
mov ecx, 0xffff8001
neg ecx
test dx, dx
jne 0x646925fc
mov ebx, esi
jmp 0x646925fe
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov eax, dword [esp + 8]
shl eax, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
lea esi, [esi]
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64696486
mov dword [esp + 0x1c], ebx
jmp 0x64692703
movzx ecx, cl
movsx ecx, byte [ecx + 0x647ffe60]
mov edi, ecx
shl edi, 4
mov dword [esp + 0xc], edi
or edx, dword [esp + 0xc]
cmp bx, 0x7f7a
jg 0x646961b8
movsx esi, si
add ecx, 3
sar esi, cl
and esi, 0xf
or edx, esi
not edx
mov ecx, dword [esp + 0x1c]
mov byte [ecx + eax], dl
inc eax
cmp dword [esp + 8], eax
je 0x6469647c
mov cx, word [ebp + eax*2]
sub ecx, 0x8000
mov edx, ecx
sar dx, 8
and edx, 0x80
mov ebx, ecx
cmp cx, 0x8001
jge 0x64692728
mov ebx, 0xffff8001
neg ebx
test dx, dx
jne 0x64692731
mov ebx, ecx
lea esi, [ebx + 0x84]
mov ecx, esi
sar cx, 7
cmp bx, 0x7f7a
jle 0x646926c0
mov ecx, 0xff
jmp 0x646926c3
mov edi, dword [esp + 0x10]
test edi, edi
je case.0x64691f6e.5130
mov eax, dword [esp + 8]
shl eax, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0
xor eax, eax
mov esi, dword [esp + 8]
test esi, esi
je 0x646962b2
mov dword [esp + 0x1c], ebx
jmp 0x646927c7
movzx ecx, cl
movsx ecx, byte [ecx + 0x647ffe60]
mov edi, ecx
shl edi, 4
mov dword [esp + 0xc], edi
or edx, dword [esp + 0xc]
cmp bx, 0x7f7a
jg 0x646961c4
movsx esi, si
add ecx, 3
sar esi, cl
and esi, 0xf
or edx, esi
not edx
mov ecx, dword [esp + 0x1c]
mov byte [ecx + eax], dl
inc eax
cmp dword [esp + 8], eax
je 0x646962a8
mov cx, word [ebp + eax*2]
mov edx, ecx
sar dx, 8
and edx, 0x80
mov ebx, ecx
cmp cx, 0x8001
jge 0x646927e6
mov ebx, 0xffff8001
neg ebx
test dx, dx
jne 0x646927ef
mov ebx, ecx
lea esi, [ebx + 0x84]
mov ecx, esi
sar cx, 7
cmp bx, 0x7f7a
jle 0x64692784
mov ecx, 0xff
jmp 0x64692787
mov edi, dword [esp + 0x10]
mov dword [esp + 0x68], edi
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.64691c44
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0xc], ecx
xor edi, edi
lea esi, [esi]
mov eax, dword [esp + 8]
test eax, eax
je 0x64692894
mov esi, dword [esp + 8]
add esi, ebp
mov edx, ebx
cmp byte [0x647ffe40], 1
je 0x646928a0
lea esi, [esi]
movzx eax, byte [ebp]
inc ebp
movsx eax, word [eax + eax + 0x647ffa40]
add eax, 0x8000
shl eax, 0x10
shr eax, 8
mov ecx, eax
sar ecx, 0x10
mov byte [edx], cl
sar eax, 8
mov byte [edx + 1], al
mov byte [edx + 2], 0
add edx, 3
cmp ebp, esi
jne 0x64692860
add ebx, dword [esp + 0xc]
inc edi
cmp dword [esp + 0x10], edi
jne 0x64692844
jmp case.0x64691f6e.5130
movzx eax, byte [ebp]
inc ebp
movsx eax, word [eax + eax + 0x647ffa40]
add eax, 0x8000
shl eax, 0x10
shr eax, 8
mov byte [edx], 0
mov ecx, eax
sar ecx, 8
mov byte [edx + 1], cl
sar eax, 0x10
mov byte [edx + 2], al
add edx, 3
cmp ebp, esi
jne 0x646928a0
jmp 0x64692890
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea esi, [ecx + ecx*2]
xor edi, edi
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x6469292b
nop
mov cx, word [ebp + eax]
mov word [esp + 0x4a], cx
mov dl, byte [ebp + eax + 2]
mov byte [esp + 0x4c], dl
mov word [esp + 0x44], cx
mov byte [esp + 0x46], dl
mov word [esp + 0x47], cx
mov byte [esp + 0x49], dl
mov word [ebx + eax], cx
mov byte [ebx + eax + 2], dl
add eax, 3
cmp eax, esi
jne 0x646928f4
add ebp, esi
add ebx, esi
inc edi
cmp dword [esp + 0x10], edi
jne 0x646928e8
jmp case.0x64691f6e.5130
mov edi, dword [esp + 0x10]
test edi, edi
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x14], ecx
xor edi, edi
mov esi, dword [esp + 8]
test esi, esi
je 0x646929c3
cmp byte [0x647ffe40], 1
je 0x6469660c
mov edx, dword [esp + 0x14]
add edx, ebp
mov dword [esp + 0xc], edx
mov edx, ebx
lea esi, [esi]
mov cx, word [ebp]
mov word [esp + 0x4d], cx
movzx eax, byte [ebp + 2]
mov byte [esp + 0x4f], al
add ebp, 3
movsx esi, cl
shl esi, 0x10
or eax, esi
movzx esi, byte [esp + 0x4e]
shl esi, 8
or eax, esi
add eax, 0x800000
and eax, 0xffffff
mov ecx, eax
sar ecx, 0x10
mov byte [edx], cl
mov ecx, eax
sar ecx, 8
mov byte [edx + 1], cl
mov byte [edx + 2], al
add edx, 3
cmp ebp, dword [esp + 0xc]
jne 0x64692974
add ebx, dword [esp + 0x14]
inc edi
cmp dword [esp + 0x10], edi
jne 0x64692950
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
shl ecx, 3
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
lea esi, [esi]
mov eax, dword [esp + 8]
test eax, eax
je 0x646964c0
mov edi, dword [esp + 0x18]
add edi, ebx
mov edx, ebp
cmp byte [0x647ffe40], 1
jne 0x64692a47
jmp 0x64692ad3
fstp st(0)
mov al, 0xff
mov byte [esp + 0x1c], 0xff
mov esi, 0xffffffff
mov ecx, esi
mov byte [ebx], cl
mov cl, byte [esp + 0x1c]
mov byte [ebx + 1], cl
mov byte [ebx + 2], al
add ebx, 3
cmp ebx, edi
je 0x646964bc
fld qword [edx]
add edx, 8
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x64692a20
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x646965d8
fmul qword [0x647fff78]
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov eax, dword [esp + 0x24]
add eax, 0x80000000
shr eax, 8
mov esi, eax
shr esi, 0x10
mov ecx, eax
shr ecx, 8
mov byte [esp + 0x1c], cl
jmp 0x64692a2e
fstp st(0)
mov esi, 0xffffffff
mov cl, 0xff
mov byte [esp + 0x1c], 0xff
mov eax, esi
mov byte [ebx], al
mov byte [ebx + 1], cl
mov cl, byte [esp + 0x1c]
mov byte [ebx + 2], cl
add ebx, 3
cmp ebx, edi
je 0x646964bc
fld qword [edx]
add edx, 8
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x64692aac
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x64696958
fmul qword [0x647fff78]
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov esi, dword [esp + 0x24]
add esi, 0x80000000
shr esi, 8
mov eax, esi
shr eax, 0x10
mov byte [esp + 0x1c], al
mov ecx, esi
shr ecx, 8
jmp 0x64692aba
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
shl ecx, 2
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
lea esi, [esi]
mov eax, dword [esp + 8]
test eax, eax
je 0x646964a4
mov edi, dword [esp + 0x18]
add edi, ebx
mov edx, ebp
cmp byte [0x647ffe40], 1
jne 0x64692baf
jmp 0x64692c3b
fstp st(0)
mov al, 0xff
mov byte [esp + 0x1c], 0xff
mov esi, 0xffffffff
mov ecx, esi
mov byte [ebx], cl
mov cl, byte [esp + 0x1c]
mov byte [ebx + 1], cl
mov byte [ebx + 2], al
add ebx, 3
cmp ebx, edi
je 0x646964a0
fld dword [edx]
add edx, 4
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x64692b88
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x646965c8
fld qword [0x647fff78]
fmulp st(1)
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov eax, dword [esp + 0x24]
add eax, 0x80000000
shr eax, 8
mov esi, eax
shr esi, 0x10
mov ecx, eax
shr ecx, 8
mov byte [esp + 0x1c], cl
jmp 0x64692b96
fstp st(0)
mov esi, 0xffffffff
mov cl, 0xff
mov byte [esp + 0x1c], 0xff
mov eax, esi
mov byte [ebx], al
mov byte [ebx + 1], cl
mov cl, byte [esp + 0x1c]
mov byte [ebx + 2], cl
add ebx, 3
cmp ebx, edi
je 0x646964a0
fld dword [edx]
add edx, 4
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x64692c14
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x64696948
fld qword [0x647fff78]
fmulp st(1)
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov esi, dword [esp + 0x24]
add esi, 0x80000000
shr esi, 8
mov eax, esi
shr eax, 0x10
mov byte [esp + 0x1c], al
mov ecx, esi
shr ecx, 8
jmp 0x64692c22
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 8]
shl ecx, 2
mov dword [esp + 0xc], ecx
xor edi, edi
lea esi, [esi]
mov edx, dword [esp + 8]
test edx, edx
je 0x64692d09
mov esi, dword [esp + 0x14]
add esi, ebx
mov edx, ebp
cmp byte [0x647ffe40], 1
je 0x64692d18
lea esi, [esi]
mov eax, dword [edx]
add edx, 4
shr eax, 8
mov ecx, eax
sar ecx, 0x10
mov byte [ebx], cl
mov ecx, eax
sar ecx, 8
mov byte [ebx + 1], cl
mov byte [ebx + 2], al
add ebx, 3
cmp ebx, esi
jne 0x64692ce4
add ebp, dword [esp + 0xc]
inc edi
cmp dword [esp + 0x10], edi
jne 0x64692cc8
jmp case.0x64691f6e.5130
mov eax, dword [edx]
add edx, 4
shr eax, 8
mov byte [ebx], al
mov ecx, eax
sar ecx, 8
mov byte [ebx + 1], cl
sar eax, 0x10
mov byte [ebx + 2], al
add ebx, 3
cmp ebx, esi
jne 0x64692d18
jmp 0x64692d05
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
mov edi, dword [esp + 8]
shl edi, 1
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64692d7a
nop
movzx edx, word [ebp + eax*4 + 2]
sub edx, 0x8000
mov word [ebx + eax*2], dx
inc eax
cmp dword [esp + 8], eax
jne 0x64692d60
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64692d54
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
mov edi, dword [esp + 8]
shl edi, 1
xor ecx, ecx
lea esi, [esi]
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64692dc6
nop
mov edx, dword [ebp + eax*4]
sar edx, 0x10
mov word [ebx + eax*2], dx
inc eax
cmp dword [esp + 8], eax
jne 0x64692db0
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64692da4
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
xor ecx, ecx
nop
xor eax, eax
mov edi, dword [esp + 8]
test edi, edi
je 0x64692e10
mov edi, dword [esp + 8]
nop
mov dx, word [ebp + eax*2]
sub edx, 0x8000
mov word [ebx + eax*2], dx
inc eax
cmp edi, eax
jne 0x64692df8
add ebp, esi
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64692de8
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov edi, dword [esp + 8]
shr edi, 1
mov ecx, edi
shl ecx, 1
mov dword [esp + 0x1c], ecx
sete byte [esp + 0x23]
lea esi, [edi*4]
mov ecx, dword [esp + 8]
shl ecx, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], 0
mov eax, dword [esp + 8]
test eax, eax
je 0x64692eeb
lea eax, [ebx + 4]
cmp ebp, eax
setae dl
lea eax, [ebp + 4]
cmp ebx, eax
setae al
or edx, eax
cmp dword [esp + 8], 0xc
seta al
and edx, eax
mov eax, ebx
or eax, ebp
test al, 3
sete al
test dl, al
je 0x646969cb
cmp byte [esp + 0x23], 0
jne 0x646969cb
xor eax, eax
nop
mov edx, dword [ebp + eax*4]
mov dword [ebx + eax*4], edx
inc eax
cmp edi, eax
ja 0x64692e9c
lea edx, [ebp + esi]
lea eax, [ebx + esi]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 8], ecx
je 0x64692ee3
mov eax, ecx
mov ecx, eax
neg ecx
shl ecx, 1
add edx, ecx
add ecx, dword [esp + 0xc]
mov dword [esp + 0xc], ebx
nop
mov bx, word [edx + eax*2]
mov word [ecx + eax*2], bx
inc eax
cmp dword [esp + 8], eax
ja 0x64692ed0
mov ebx, dword [esp + 0xc]
add ebp, dword [esp + 0x18]
add ebx, dword [esp + 0x18]
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x10], eax
jne 0x64692e54
jmp case.0x64691f6e.5130
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.64690e90
xor ecx, ecx
mov esi, dword [esp + 0x10]
test esi, esi
je case.0x64691f6e.5130
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64692f5e
nop
movzx edx, byte [ebp + eax]
mov dx, word [edx + edx + 0x647ffa40]
sar dx, 8
add edx, 0xffffff80
mov byte [ebx + eax], dl
inc eax
cmp dword [esp + 8], eax
jne 0x64692f38
add ebp, dword [esp + 8]
add ebx, dword [esp + 8]
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64692f2c
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea esi, [ecx + ecx*2]
xor edi, edi
nop
mov eax, dword [esp + 8]
test eax, eax
je 0x64692faa
mov ecx, dword [esp + 8]
add ecx, ebx
mov eax, ebp
cmp byte [0x647ffe40], 1
je 0x64692fb8
lea esi, [esi]
mov dl, byte [eax]
mov byte [ebx], dl
add eax, 3
inc ebx
cmp ebx, ecx
jne 0x64692f9c
add ebp, esi
inc edi
cmp dword [esp + 0x10], edi
jne 0x64692f80
jmp case.0x64691f6e.5130
mov dl, byte [eax + 2]
mov byte [ebx], dl
add eax, 3
inc ebx
cmp ebx, ecx
je 0x64692fa8
mov dl, byte [eax + 2]
mov byte [ebx], dl
add eax, 3
inc ebx
cmp ebx, ecx
jne 0x64692fb8
jmp 0x64692fa8
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea edi, [ecx + ecx*2]
xor esi, esi
lea esi, [esi]
mov eax, dword [esp + 8]
test eax, eax
je 0x64693019
mov ecx, dword [esp + 8]
add ecx, ebx
mov eax, ebp
cmp byte [0x647ffe40], 1
je 0x64693028
lea esi, [esi]
mov dl, byte [eax]
add eax, 3
add edx, 0xffffff80
mov byte [ebx], dl
inc ebx
cmp ebx, ecx
jne 0x64693008
add ebp, edi
inc esi
cmp dword [esp + 0x10], esi
jne 0x64692fec
jmp case.0x64691f6e.5130
mov dl, byte [eax + 2]
add eax, 3
add edx, 0xffffff80
mov byte [ebx], dl
inc ebx
cmp ebx, ecx
je 0x64693017
mov dl, byte [eax + 2]
add eax, 3
add edx, 0xffffff80
mov byte [ebx], dl
inc ebx
cmp ebx, ecx
jne 0x64693028
jmp 0x64693017
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 3
xor ecx, ecx
nop
xor edx, edx
mov edi, dword [esp + 8]
test edi, edi
je 0x6469651e
mov edi, dword [esp + 8]
jmp 0x64693084
fstp st(0)
mov al, 0xff
mov byte [ebx + edx], al
inc edx
cmp edi, edx
je 0x64696518
fld qword [ebp + edx*8]
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x64693074
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x6469656c
fmul dword [0x647fff74]
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov eax, dword [esp + 0x24]
add eax, 0xffffff80
jmp 0x64693078
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
xor ecx, ecx
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x6469310b
mov edi, dword [esp + 8]
nop
movzx edx, byte [ebp + eax*2 + 1]
mov byte [ebx + eax], dl
inc eax
cmp edi, eax
jne 0x646930f8
add ebp, esi
add ebx, dword [esp + 8]
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646930e8
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x6469314f
mov edi, dword [esp + 8]
nop
movzx edx, byte [ebp + eax*4 + 3]
mov byte [ebx + eax], dl
inc eax
cmp edi, eax
jne 0x6469313c
add ebp, esi
add ebx, dword [esp + 8]
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x6469312c
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
xor eax, eax
mov edi, dword [esp + 8]
test edi, edi
je 0x64693198
mov edi, dword [esp + 8]
nop
mov edx, dword [ebp + eax*4]
sar edx, 0x18
add edx, 0xffffff80
mov byte [ebx + eax], dl
inc eax
cmp edi, eax
jne 0x64693180
add ebp, esi
add ebx, dword [esp + 8]
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64693170
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
lea esi, [esi]
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
je 0x64696506
mov edi, dword [esp + 8]
jmp 0x646931e0
fstp st(0)
mov al, 0xff
mov byte [ebx + edx], al
inc edx
cmp edi, edx
je 0x64696500
fld dword [ebp + edx*4]
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x646931d0
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x64696560
fmul dword [0x647fff74]
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov eax, dword [esp + 0x24]
add eax, 0xffffff80
jmp 0x646931d4
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shr ecx, 2
mov dword [esp + 0x1c], ecx
shl ecx, 2
mov dword [esp + 0x14], ecx
sete byte [esp + 0x23]
mov dword [esp + 0x18], 0
nop
mov eax, dword [esp + 8]
test eax, eax
je 0x646932f0
lea eax, [ebx + 4]
cmp ebp, eax
setae dl
lea eax, [ebp + 4]
cmp ebx, eax
setae al
or edx, eax
cmp dword [esp + 8], 9
seta al
and edx, eax
mov eax, ebx
or eax, ebp
test al, 3
sete al
test dl, al
je 0x646969ea
cmp byte [esp + 0x23], 0
jne 0x646969ea
xor eax, eax
mov ecx, dword [esp + 0x1c]
nop
mov edx, dword [ebp + eax*4]
mov dword [ebx + eax*4], edx
inc eax
cmp ecx, eax
ja 0x646932a8
mov edi, dword [esp + 0x14]
add edi, ebp
mov esi, dword [esp + 0x14]
add esi, ebx
mov eax, dword [esp + 0x14]
cmp dword [esp + 8], eax
je 0x646932e8
mov ecx, eax
neg ecx
add edi, ecx
mov dword [esp + 0xc], ebx
lea edx, [esi + ecx]
mov bl, byte [edi + eax]
mov byte [edx + eax], bl
inc eax
cmp dword [esp + 8], eax
ja 0x646932d4
mov ebx, dword [esp + 0xc]
add ebp, dword [esp + 8]
add ebx, dword [esp + 8]
inc dword [esp + 0x18]
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x10], edi
jne 0x6469325c
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
xor ecx, ecx
nop
xor eax, eax
mov edi, dword [esp + 8]
test edi, edi
je 0x64693346
mov edi, dword [esp + 8]
nop
mov dx, word [ebp + eax*2]
sar dx, 8
add edx, 0xffffff80
mov byte [ebx + eax], dl
inc eax
cmp edi, eax
jne 0x6469332c
add ebp, esi
add ebx, dword [esp + 8]
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x6469331c
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shr ecx, 2
mov dword [esp + 0x18], ecx
shl ecx, 2
mov dword [esp + 0xc], ecx
sete byte [esp + 0x1c]
mov dword [esp + 0x14], 0
lea esi, [esi]
mov eax, dword [esp + 8]
test eax, eax
je 0x64693423
lea eax, [ebx + 4]
cmp ebp, eax
setae dl
lea eax, [ebp + 4]
cmp ebx, eax
setae al
or edx, eax
cmp dword [esp + 8], 6
seta al
and edx, eax
mov eax, ebx
or eax, ebp
test al, 3
sete al
test dl, al
je 0x646969b3
cmp byte [esp + 0x1c], 0
jne 0x646969b3
xor edx, edx
mov esi, dword [esp + 0x18]
nop
mov ecx, dword [ebp + edx*4]
mov eax, ecx
xor eax, 0x80808080
and eax, 0x80808080
and ecx, 0x7f7f7f7f
xor eax, ecx
mov dword [ebx + edx*4], eax
inc edx
cmp esi, edx
ja 0x646933cc
mov esi, dword [esp + 0xc]
add esi, ebp
mov edi, dword [esp + 0xc]
add edi, ebx
mov eax, dword [esp + 0xc]
cmp dword [esp + 8], eax
je 0x6469341b
mov ecx, eax
neg ecx
add edi, ecx
lea edx, [esi + ecx]
mov dl, byte [edx + eax]
add edx, 0xffffff80
mov byte [edi + eax], dl
inc eax
cmp dword [esp + 8], eax
ja 0x64693408
add ebp, dword [esp + 8]
add ebx, dword [esp + 8]
inc dword [esp + 0x14]
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x10], edx
jne 0x64693380
jmp case.0x64691f6e.5130
mov edi, dword [esp + 0x10]
test edi, edi
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shl ecx, 1
mov dword [esp + 0xc], ecx
add ecx, dword [esp + 8]
mov dword [esp + 0x14], ecx
xor edi, edi
nop
mov esi, dword [esp + 8]
test esi, esi
je 0x646934a1
mov esi, dword [esp + 0x14]
add esi, ebp
mov ecx, ebx
cmp byte [0x647ffe40], 1
je 0x646934b0
lea esi, [esi]
movzx eax, byte [ebp]
movzx edx, byte [ebp + 1]
add ebp, 3
shl eax, 0x10
shl edx, 8
or eax, edx
shr eax, 8
sub eax, 0x8000
mov word [ecx], ax
add ecx, 2
cmp ebp, esi
jne 0x64693478
add ebx, dword [esp + 0xc]
inc edi
cmp dword [esp + 0x10], edi
jne 0x6469345c
jmp case.0x64691f6e.5130
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
add ebp, 3
shl eax, 0x10
shl edx, 8
or eax, edx
shr eax, 8
sub eax, 0x8000
mov word [ecx], ax
add ecx, 2
cmp ebp, esi
jne 0x646934b0
jmp 0x6469349d
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shl ecx, 1
mov dword [esp + 0x14], ecx
add ecx, dword [esp + 8]
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], 0
lea esi, [esi]
mov eax, dword [esp + 8]
test eax, eax
je 0x6469354c
mov edi, dword [esp + 0x18]
add edi, ebp
mov ecx, ebx
cmp byte [0x647ffe40], 1
je 0x64693560
lea esi, [esi]
movsx edx, byte [ebp]
movzx esi, byte [ebp + 1]
movzx eax, byte [ebp + 2]
add ebp, 3
shl edx, 0x10
or eax, edx
and esi, 0xff
shl esi, 8
or eax, esi
sar eax, 8
mov word [ecx], ax
add ecx, 2
cmp ebp, edi
jne 0x6469351c
add ebx, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x64693500
jmp case.0x64691f6e.5130
movzx eax, byte [ebp]
movzx esi, byte [ebp + 1]
movsx edx, byte [ebp + 2]
add ebp, 3
shl edx, 0x10
or eax, edx
and esi, 0xff
shl esi, 8
or eax, esi
sar eax, 8
mov word [ecx], ax
add ecx, 2
cmp ebp, edi
jne 0x64693560
jmp 0x64693548
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 3
mov edi, dword [esp + 8]
shl edi, 1
xor ecx, ecx
lea esi, [esi]
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
jne 0x646935d2
jmp 0x646964f0
fstp st(0)
mov eax, 0x7fff
mov word [ebx + edx*2], ax
inc edx
cmp dword [esp + 8], edx
je 0x646964ec
fld qword [ebp + edx*8]
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x646935bc
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x64696584
fmul dword [0x647fff70]
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov eax, dword [esp + 0x24]
jmp 0x646935c3
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
mov edi, dword [esp + 8]
shl edi, 1
xor ecx, ecx
lea esi, [esi]
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
jne 0x64693662
jmp 0x646964dc
fstp st(0)
mov eax, 0x7fff
mov word [ebx + edx*2], ax
inc edx
cmp dword [esp + 8], edx
je 0x646964d8
fld dword [ebp + edx*4]
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x6469364c
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x64696971
fmul dword [0x647fff70]
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov eax, dword [esp + 0x24]
jmp 0x64693653
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.64690f04
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
xor ecx, ecx
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x6469370a
mov edi, dword [esp + 8]
nop
movzx edx, byte [ebp + eax]
add edx, 0xffffff80
shl edx, 8
mov word [ebx + eax*2], dx
inc eax
cmp edi, eax
jne 0x646936f0
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646936e0
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
xor ecx, ecx
nop
xor eax, eax
mov edi, dword [esp + 8]
test edi, edi
je 0x64693753
mov edi, dword [esp + 8]
nop
movsx edx, byte [ebp + eax]
shl edx, 8
mov word [ebx + eax*2], dx
inc eax
cmp edi, eax
jne 0x6469373c
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x6469372c
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
xor ecx, ecx
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x646937a0
mov edi, dword [esp + 8]
nop
movzx edx, byte [ebp + eax]
mov dx, word [edx + edx + 0x647ffa40]
mov word [ebx + eax*2], dx
inc eax
cmp edi, eax
jne 0x64693784
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64693774
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x646937e6
mov edi, dword [esp + 8]
nop
movzx edx, byte [ebp + eax*2 + 1]
add edx, 0xffffff80
mov byte [ebx + eax], dl
inc eax
cmp edi, eax
jne 0x646937d0
add ebp, esi
add ebx, dword [esp + 8]
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646937c0
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
xor ecx, ecx
nop
xor eax, eax
mov edi, dword [esp + 8]
test edi, edi
je 0x6469382f
mov edi, dword [esp + 8]
nop
mov dx, word [ebp + eax*2]
sar dx, 8
mov byte [ebx + eax], dl
inc eax
cmp edi, eax
jne 0x64693818
add ebp, esi
add ebx, dword [esp + 8]
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64693808
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shr ecx, 2
mov dword [esp + 0x18], ecx
shl ecx, 2
mov dword [esp + 0xc], ecx
sete byte [esp + 0x1c]
mov dword [esp + 0x14], 0
nop
mov eax, dword [esp + 8]
test eax, eax
je 0x6469390f
lea eax, [ebx + 4]
cmp ebp, eax
setae dl
lea eax, [ebp + 4]
cmp ebx, eax
setae al
or edx, eax
cmp dword [esp + 8], 6
seta al
and edx, eax
mov eax, ebx
or eax, ebp
test al, 3
sete al
test dl, al
je 0x64696a00
cmp byte [esp + 0x1c], 0
jne 0x64696a00
xor eax, eax
mov esi, dword [esp + 0x18]
nop
mov ecx, dword [ebp + eax*4]
mov edx, ecx
and edx, 0x7f7f7f7f
xor ecx, 0x80808080
and ecx, 0x80808080
xor edx, ecx
mov dword [ebx + eax*4], edx
inc eax
cmp esi, eax
ja 0x646938b4
mov esi, dword [esp + 0xc]
add esi, ebp
mov edi, dword [esp + 0xc]
add edi, ebx
mov eax, dword [esp + 0xc]
cmp dword [esp + 8], eax
je 0x64693907
mov ecx, eax
neg ecx
add edi, ecx
nop
lea edx, [esi + ecx]
mov dl, byte [edx + eax]
add edx, 0xffffff80
mov byte [edi + eax], dl
inc eax
cmp dword [esp + 8], eax
ja 0x646938f4
add ebp, dword [esp + 8]
add ebx, dword [esp + 8]
inc dword [esp + 0x14]
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x10], edx
jne 0x64693868
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shr ecx, 2
mov dword [esp + 0x1c], ecx
shl ecx, 2
mov dword [esp + 0x14], ecx
sete byte [esp + 0x23]
mov dword [esp + 0x18], 0
lea esi, [esi]
mov eax, dword [esp + 8]
test eax, eax
je 0x646939e8
lea eax, [ebx + 4]
cmp ebp, eax
setae dl
lea eax, [ebp + 4]
cmp ebx, eax
setae al
or edx, eax
cmp dword [esp + 8], 9
seta al
and edx, eax
mov eax, ebx
or eax, ebp
test al, 3
sete al
test dl, al
je 0x646969f5
cmp byte [esp + 0x23], 0
jne 0x646969f5
xor eax, eax
mov ecx, dword [esp + 0x1c]
nop
mov edx, dword [ebp + eax*4]
mov dword [ebx + eax*4], edx
inc eax
cmp ecx, eax
ja 0x646939a0
mov edi, dword [esp + 0x14]
add edi, ebp
mov esi, dword [esp + 0x14]
add esi, ebx
mov eax, dword [esp + 0x14]
cmp dword [esp + 8], eax
je 0x646939e0
mov ecx, eax
neg ecx
add edi, ecx
mov dword [esp + 0xc], ebx
lea edx, [esi + ecx]
mov bl, byte [edi + eax]
mov byte [edx + eax], bl
inc eax
cmp dword [esp + 8], eax
ja 0x646939cc
mov ebx, dword [esp + 0xc]
add ebp, dword [esp + 8]
add ebx, dword [esp + 8]
inc dword [esp + 0x18]
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x10], edi
jne 0x64693954
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64693a3a
mov edi, dword [esp + 8]
nop
movzx edx, byte [ebp + eax*4 + 3]
add edx, 0xffffff80
mov byte [ebx + eax], dl
inc eax
cmp edi, eax
jne 0x64693a24
add ebp, esi
add ebx, dword [esp + 8]
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64693a14
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
nop
xor eax, eax
mov edi, dword [esp + 8]
test edi, edi
je 0x64693a81
mov edi, dword [esp + 8]
nop
mov edx, dword [ebp + eax*4]
sar edx, 0x18
mov byte [ebx + eax], dl
inc eax
cmp edi, eax
jne 0x64693a6c
add ebp, esi
add ebx, dword [esp + 8]
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64693a5c
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
nop
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
je 0x646963fe
mov edi, dword [esp + 8]
jmp 0x64693ac8
fstp st(0)
mov al, 0x7f
mov byte [ebx + edx], al
inc edx
cmp edi, edx
je 0x646963f8
fld dword [ebp + edx*4]
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x64693ab8
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x6469653c
fmul dword [0x647fff74]
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov eax, dword [esp + 0x24]
jmp 0x64693abc
mov edi, dword [esp + 0x10]
mov dword [esp + 0x68], edi
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.64691068
mov edi, dword [esp + 0x10]
mov dword [esp + 0x68], edi
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.64691d20
mov edi, dword [esp + 0x10]
test edi, edi
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0xc], ecx
xor edi, edi
lea esi, [esi]
mov esi, dword [esp + 8]
test esi, esi
je 0x64693bb4
cmp byte [0x647ffe40], 1
je 0x64696880
mov esi, dword [esp + 8]
add esi, ebp
mov eax, ebx
lea esi, [esi]
movzx edx, byte [ebp]
inc ebp
movsx edx, word [edx + edx + 0x647ffa40]
shl edx, 0x10
mov ecx, edx
sar ecx, 0x18
mov byte [eax], cl
sar edx, 0x10
mov byte [eax + 1], dl
mov byte [eax + 2], 0
add eax, 3
cmp ebp, esi
jne 0x64693b88
add ebx, dword [esp + 0xc]
inc edi
cmp dword [esp + 0x10], edi
jne 0x64693b68
jmp case.0x64691f6e.5130
mov edi, dword [esp + 0x10]
test edi, edi
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
nop
mov esi, dword [esp + 8]
test esi, esi
je 0x64693c61
cmp byte [0x647ffe40], 1
je 0x64696824
mov edi, dword [esp + 0x14]
add edi, ebx
mov edx, ebp
lea esi, [esi]
mov ax, word [edx]
mov word [esp + 0x41], ax
movzx esi, byte [edx + 2]
mov eax, esi
mov byte [esp + 0x43], al
add edx, 3
movzx eax, byte [esp + 0x42]
shl eax, 8
movzx ecx, byte [esp + 0x41]
shl ecx, 0x10
or eax, ecx
and esi, 0xff
or eax, esi
sub eax, 0x800000
shl eax, 8
mov ecx, eax
sar ecx, 8
mov dword [esp + 0x18], ecx
mov esi, eax
sar esi, 0x18
mov ecx, esi
mov byte [ebx], cl
sar eax, 0x10
mov byte [ebx + 1], al
mov al, byte [esp + 0x18]
mov byte [ebx + 2], al
add ebx, 3
cmp ebx, edi
jne 0x64693c00
add ebp, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x64693be0
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea esi, [ecx + ecx*2]
xor edi, edi
lea esi, [esi]
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64693cd3
nop
mov cx, word [ebp + eax]
mov word [esp + 0x3e], cx
mov dl, byte [ebp + eax + 2]
mov byte [esp + 0x40], dl
mov word [esp + 0x38], cx
mov byte [esp + 0x3a], dl
mov word [esp + 0x3b], cx
mov byte [esp + 0x3d], dl
mov word [ebx + eax], cx
mov byte [ebx + eax + 2], dl
add eax, 3
cmp eax, esi
jne 0x64693c9c
add ebp, esi
add ebx, esi
inc edi
cmp dword [esp + 0x10], edi
jne 0x64693c90
jmp case.0x64691f6e.5130
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.646910e8
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64693d44
mov edi, dword [esp + 8]
nop
movzx edx, byte [ebp + eax]
movsx edx, word [edx + edx + 0x647ffa40]
add edx, 0x8000
shl edx, 0x10
mov dword [ebx + eax*4], edx
inc eax
cmp edi, eax
jne 0x64693d20
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64693d10
jmp case.0x64691f6e.5130
mov edi, dword [esp + 0x10]
test edi, edi
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
shl ecx, 2
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
nop
mov esi, dword [esp + 8]
test esi, esi
je 0x64693dc7
mov edi, dword [esp + 0x18]
add edi, ebp
mov ecx, ebx
cmp byte [0x647ffe40], 1
je 0x64693ddc
lea esi, [esi]
movzx eax, byte [ebp]
movzx edx, byte [ebp + 1]
movzx esi, byte [ebp + 2]
add ebp, 3
shl eax, 0x10
shl edx, 8
or eax, edx
and esi, 0xff
or eax, esi
shl eax, 8
mov dword [ecx], eax
add ecx, 4
cmp ebp, edi
jne 0x64693d98
add ebx, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x64693d7c
jmp case.0x64691f6e.5130
movzx esi, byte [ebp]
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
add ebp, 3
shl eax, 0x10
shl edx, 8
or eax, edx
and esi, 0xff
or eax, esi
shl eax, 8
mov dword [ecx], eax
add ecx, 4
cmp ebp, edi
jne 0x64693ddc
jmp 0x64693dc3
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
shl ecx, 2
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
nop
mov eax, dword [esp + 8]
test eax, eax
je 0x64693e84
mov edi, dword [esp + 0x18]
add edi, ebp
mov ecx, ebx
cmp byte [0x647ffe40], 1
je 0x64693e98
lea esi, [esi]
movsx edx, byte [ebp]
movzx esi, byte [ebp + 1]
movzx eax, byte [ebp + 2]
add ebp, 3
shl edx, 0x10
or eax, edx
and esi, 0xff
shl esi, 8
or eax, esi
add eax, 0x800000
shl eax, 8
mov dword [ecx], eax
add ecx, 4
cmp ebp, edi
jne 0x64693e50
add ebx, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x64693e34
jmp case.0x64691f6e.5130
movzx eax, byte [ebp]
movzx esi, byte [ebp + 1]
movsx edx, byte [ebp + 2]
add ebp, 3
shl edx, 0x10
or eax, edx
and esi, 0xff
shl esi, 8
or eax, esi
add eax, 0x800000
shl eax, 8
mov dword [ecx], eax
add ecx, 4
cmp ebp, edi
jne 0x64693e98
jmp 0x64693e80
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 3
mov edi, dword [esp + 8]
shl edi, 2
xor ecx, ecx
nop
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
jne 0x64693f0d
jmp 0x646963e8
fstp st(0)
mov eax, 0xffffffff
mov dword [ebx + edx*4], eax
inc edx
cmp dword [esp + 8], edx
je 0x646963e4
fld qword [ebp + edx*8]
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x64693ef8
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x646965bc
fmul qword [0x647fff78]
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov eax, dword [esp + 0x24]
add eax, 0x80000000
jmp 0x64693eff
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
nop
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
je 0x646963d4
mov edi, dword [esp + 8]
jmp 0x64693f9b
fstp st(0)
mov eax, 0xffffffff
mov dword [ebx + edx*4], eax
inc edx
cmp edi, edx
je 0x646963d0
fld dword [ebp + edx*4]
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x64693f88
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x646965b0
fld qword [0x647fff78]
fmulp st(1)
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov eax, dword [esp + 0x24]
add eax, 0x80000000
jmp 0x64693f8f
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
mov edi, dword [esp + 8]
shl edi, 2
xor ecx, ecx
lea esi, [esi]
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x6469402e
nop
movzx edx, word [ebp + eax*2]
shl edx, 0x10
mov dword [ebx + eax*4], edx
inc eax
cmp dword [esp + 8], eax
jne 0x64694018
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x6469400c
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
shl ecx, 2
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
mov edi, dword [esp + 8]
test edi, edi
je 0x646940bc
mov edi, dword [esp + 0x18]
add edi, ebp
mov ecx, ebx
cmp byte [0x647ffe40], 1
je 0x646940d0
lea esi, [esi]
movzx eax, byte [ebp]
movzx edx, byte [ebp + 1]
movzx esi, byte [ebp + 2]
add ebp, 3
shl eax, 0x10
shl edx, 8
or eax, edx
and esi, 0xff
or eax, esi
sub eax, 0x800000
fld dword [0x647fff90]
push eax
fimul dword [esp]
pop esi
fstp dword [ecx]
add ecx, 4
cmp ebp, edi
jne 0x64694080
add ebx, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x64694064
jmp case.0x64691f6e.5130
movzx esi, byte [ebp]
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
add ebp, 3
shl eax, 0x10
shl edx, 8
or eax, edx
and esi, 0xff
or eax, esi
sub eax, 0x800000
fld dword [0x647fff90]
push eax
fimul dword [esp]
pop eax
fstp dword [ecx]
add ecx, 4
cmp ebp, edi
jne 0x646940d0
jmp 0x646940b8
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
shl ecx, 2
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
mov eax, dword [esp + 8]
test eax, eax
je 0x64694187
mov edi, dword [esp + 0x18]
add edi, ebp
mov ecx, ebx
cmp byte [0x647ffe40], 1
je 0x6469419c
lea esi, [esi]
movsx edx, byte [ebp]
movzx esi, byte [ebp + 1]
movzx eax, byte [ebp + 2]
add ebp, 3
shl edx, 0x10
or eax, edx
and esi, 0xff
shl esi, 8
or eax, esi
fld dword [0x647fff90]
push eax
fimul dword [esp]
pop eax
fstp dword [ecx]
add ecx, 4
cmp ebp, edi
jne 0x64694150
add ebx, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x64694134
jmp case.0x64691f6e.5130
movzx eax, byte [ebp]
movzx esi, byte [ebp + 1]
movsx edx, byte [ebp + 2]
add ebp, 3
shl edx, 0x10
or eax, edx
and esi, 0xff
shl esi, 8
or eax, esi
fld dword [0x647fff90]
push eax
fimul dword [esp]
pop eax
fstp dword [ecx]
add ecx, 4
cmp ebp, edi
jne 0x6469419c
jmp 0x64694183
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 3
mov edi, dword [esp + 8]
shl edi, 2
xor ecx, ecx
lea esi, [esi]
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
jne 0x64694216
jmp 0x64696334
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [ebx + edx*4]
inc edx
cmp dword [esp + 8], edx
je 0x64696330
fld qword [ebp + edx*8]
fucom st(0)
fnstsw ax
and ah, 0x45
xor ah, 0x40
je 0x64694200
fstp st(0)
fldz
jmp 0x64694208
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
lea esi, [esi]
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
je 0x64694274
mov edi, dword [esp + 8]
nop
fld dword [ebp + edx*4]
fucom st(0)
fnstsw ax
and ah, 0x45
cmp ah, 0x40
je 0x64694268
fstp st(0)
fldz
fstp dword [ebx + edx*4]
inc edx
cmp edi, edx
jne 0x64694254
add ebp, esi
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64694244
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
lea esi, [esi]
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x646942c9
mov edi, dword [esp + 8]
nop
mov edx, dword [ebp + eax*4]
add edx, 0x80000000
fld qword [0x647fff88]
push edx
fimul dword [esp]
pop edx
fstp dword [ebx + eax*4]
inc eax
cmp edi, eax
jne 0x646942a8
add ebp, esi
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64694298
jmp case.0x64691f6e.5130
mov edi, dword [esp + 0x10]
test edi, edi
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shl ecx, 2
xor edx, edx
nop
xor eax, eax
mov esi, dword [esp + 8]
test esi, esi
je 0x64694310
nop
fld qword [0x647fff88]
fimul dword [ebp + eax*4]
fstp dword [ebx + eax*4]
inc eax
cmp dword [esp + 8], eax
jne 0x646942f8
add ebp, ecx
add ebx, ecx
inc edx
cmp dword [esp + 0x10], edx
jne 0x646942ec
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
mov edi, dword [esp + 8]
shl edi, 2
xor ecx, ecx
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64694368
nop
movzx edx, word [ebp + eax*2]
sub edx, 0x8000
fld dword [0x647fff60]
push edx
fimul dword [esp]
pop edx
fstp dword [ebx + eax*4]
inc eax
cmp dword [esp + 8], eax
jne 0x64694344
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64694338
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
mov ecx, dword [esp + 8]
shl ecx, 2
xor edx, edx
nop
xor eax, eax
mov edi, dword [esp + 8]
test edi, edi
je 0x646943b6
mov edi, dword [esp + 8]
nop
fld dword [0x647fff60]
fimul word [ebp + eax*2]
fstp dword [ebx + eax*4]
inc eax
cmp edi, eax
jne 0x646943a0
add ebp, esi
add ebx, ecx
inc edx
cmp dword [esp + 0x10], edx
jne 0x64694390
jmp case.0x64691f6e.5130
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.6469116c
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64694424
mov edi, dword [esp + 8]
nop
movzx edx, byte [ebp + eax]
fld dword [0x647fff60]
fimul word [edx + edx + 0x647ffa40]
fstp dword [ebx + eax*4]
inc eax
cmp edi, eax
jne 0x64694404
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646943f4
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
lea esi, [esi]
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64694479
mov edi, dword [esp + 8]
nop
movzx edx, byte [ebp + eax]
add edx, 0xffffff80
fld dword [0x647fff80]
push edx
fimul dword [esp]
pop edx
fstp dword [ebx + eax*4]
inc eax
cmp edi, eax
jne 0x64694458
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64694448
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
nop
xor eax, eax
mov edi, dword [esp + 8]
test edi, edi
je 0x646944cb
mov edi, dword [esp + 8]
nop
movsx dx, byte [ebp + eax]
fld dword [0x647fff80]
push edx
fimul word [esp]
pop edx
fstp dword [ebx + eax*4]
inc eax
cmp edi, eax
jne 0x646944ac
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x6469449c
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
xor eax, eax
mov edi, dword [esp + 8]
test edi, edi
je 0x64694515
mov edi, dword [esp + 8]
nop
movzx edx, byte [ebp + eax]
add edx, 0xffffff80
shl edx, 0x18
mov dword [ebx + eax*4], edx
inc eax
cmp edi, eax
jne 0x646944fc
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646944ec
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x6469455e
mov edi, dword [esp + 8]
nop
movsx edx, byte [ebp + eax]
shl edx, 0x18
mov dword [ebx + eax*4], edx
inc eax
cmp edi, eax
jne 0x64694548
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64694538
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
mov edi, dword [esp + 8]
shl edi, 2
xor ecx, ecx
lea esi, [esi]
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x646945aa
nop
movsx edx, word [ebp + eax*2]
shl edx, 0x10
mov dword [ebx + eax*4], edx
inc eax
cmp dword [esp + 8], eax
jne 0x64694594
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64694588
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 3
xor ecx, ecx
nop
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
je 0x646945fc
mov edi, dword [esp + 8]
nop
fld qword [ebp + edx*8]
fucom st(0)
fnstsw ax
and ah, 0x45
cmp ah, 0x40
je 0x646945f0
fstp st(0)
fldz
fstp qword [ebx + edx*8]
inc edx
cmp edi, edx
jne 0x646945dc
add ebp, esi
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646945cc
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
mov edi, dword [esp + 8]
shl edi, 3
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
jne 0x64694641
jmp 0x646962f8
fstp qword [ebx + edx*8]
inc edx
cmp dword [esp + 8], edx
je 0x646962f4
fld dword [ebp + edx*4]
fucom st(0)
fnstsw ax
and ah, 0x45
xor ah, 0x40
je 0x64694633
fstp st(0)
fldz
jmp 0x64694633
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
mov edi, dword [esp + 8]
shl edi, 3
xor ecx, ecx
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x646946a3
nop
mov edx, dword [ebp + eax*4]
add edx, 0x80000000
fld qword [0x647fff88]
push edx
fimul dword [esp]
pop edx
fstp qword [ebx + eax*8]
inc eax
cmp dword [esp + 8], eax
jne 0x64694680
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64694674
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
mov ecx, dword [esp + 8]
shl ecx, 3
xor edx, edx
nop
xor eax, eax
mov edi, dword [esp + 8]
test edi, edi
je 0x646946f2
mov edi, dword [esp + 8]
nop
fld qword [0x647fff88]
fimul dword [ebp + eax*4]
fstp qword [ebx + eax*8]
inc eax
cmp edi, eax
jne 0x646946dc
add ebp, esi
add ebx, ecx
inc edx
cmp dword [esp + 0x10], edx
jne 0x646946cc
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
mov edi, dword [esp + 8]
shl edi, 3
xor ecx, ecx
lea esi, [esi]
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x6469474c
nop
movzx edx, word [ebp + eax*2]
sub edx, 0x8000
fld qword [0x647fff68]
push edx
fimul dword [esp]
pop edx
fstp qword [ebx + eax*8]
inc eax
cmp dword [esp + 8], eax
jne 0x64694728
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x6469471c
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
mov ecx, dword [esp + 8]
shl ecx, 3
xor edx, edx
nop
xor eax, eax
mov edi, dword [esp + 8]
test edi, edi
je 0x6469479a
mov edi, dword [esp + 8]
nop
fld qword [0x647fff68]
fimul word [ebp + eax*2]
fstp qword [ebx + eax*8]
inc eax
cmp edi, eax
jne 0x64694784
add ebp, esi
add ebx, ecx
inc edx
cmp dword [esp + 0x10], edx
jne 0x64694774
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 3
xor ecx, ecx
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x646947ed
mov edi, dword [esp + 8]
nop
movzx edx, byte [ebp + eax]
add edx, 0xffffff80
fld qword [0x647fff98]
push edx
fimul dword [esp]
pop edx
fstp qword [ebx + eax*8]
inc eax
cmp edi, eax
jne 0x646947cc
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646947bc
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 3
xor ecx, ecx
nop
xor eax, eax
mov edi, dword [esp + 8]
test edi, edi
je 0x6469483f
mov edi, dword [esp + 8]
nop
movsx dx, byte [ebp + eax]
fld qword [0x647fff98]
push edx
fimul word [esp]
pop edx
fstp qword [ebx + eax*8]
inc eax
cmp edi, eax
jne 0x64694820
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64694810
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 3
mov edi, dword [esp + 8]
shl edi, 2
xor ecx, ecx
nop
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
jne 0x6469488d
jmp 0x64696320
fstp st(0)
mov eax, 0x7fffffff
mov dword [ebx + edx*4], eax
inc edx
cmp dword [esp + 8], edx
je 0x6469631c
fld qword [ebp + edx*8]
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x64694878
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x64696530
fmul qword [0x647fff78]
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov eax, dword [esp + 0x24]
jmp 0x6469487f
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
nop
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
je 0x6469630c
mov edi, dword [esp + 8]
jmp 0x64694917
fstp st(0)
mov eax, 0x7fffffff
mov dword [ebx + edx*4], eax
inc edx
cmp edi, edx
je 0x64696308
fld dword [ebp + edx*4]
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x64694904
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x6469697d
fld qword [0x647fff78]
fmulp st(1)
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov eax, dword [esp + 0x24]
jmp 0x6469490b
mov edi, dword [esp + 0x10]
test edi, edi
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
shl ecx, 2
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
nop
mov esi, dword [esp + 8]
test esi, esi
je 0x646949e0
mov edi, dword [esp + 0x18]
add edi, ebp
mov ecx, ebx
cmp byte [0x647ffe40], 1
je 0x646949f4
lea esi, [esi]
movzx eax, byte [ebp]
movzx edx, byte [ebp + 1]
movzx esi, byte [ebp + 2]
add ebp, 3
shl eax, 0x10
shl edx, 8
or eax, edx
and esi, 0xff
or eax, esi
sub eax, 0x800000
shl eax, 8
mov dword [ecx], eax
add ecx, 4
cmp ebp, edi
jne 0x646949ac
add ebx, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x64694990
jmp case.0x64691f6e.5130
movzx esi, byte [ebp]
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
add ebp, 3
shl eax, 0x10
shl edx, 8
or eax, edx
and esi, 0xff
or eax, esi
sub eax, 0x800000
shl eax, 8
mov dword [ecx], eax
add ecx, 4
cmp ebp, edi
jne 0x646949f4
jmp 0x646949dc
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64694a62
mov edi, dword [esp + 8]
nop
mov edx, dword [ebp + eax*4]
add edx, 0x80000000
mov dword [ebx + eax*4], edx
inc eax
cmp edi, eax
jne 0x64694a4c
add ebp, esi
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64694a3c
jmp case.0x64691f6e.5130
mov edi, dword [esp + 0x10]
test edi, edi
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shl ecx, 2
xor edx, edx
nop
xor eax, eax
mov esi, dword [esp + 8]
test esi, esi
je 0x64694aa4
mov edi, dword [esp + 8]
nop
mov esi, dword [ebp + eax*4]
mov dword [ebx + eax*4], esi
inc eax
cmp edi, eax
jne 0x64694a94
add ebp, ecx
add ebx, ecx
inc edx
cmp dword [esp + 0x10], edx
jne 0x64694a84
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
lea esi, [esi]
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64694af6
mov edi, dword [esp + 8]
nop
movzx edx, byte [ebp + eax]
movsx edx, word [edx + edx + 0x647ffa40]
shl edx, 0x10
mov dword [ebx + eax*4], edx
inc eax
cmp edi, eax
jne 0x64694ad8
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64694ac8
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
shl ecx, 2
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
mov eax, dword [esp + 8]
test eax, eax
je 0x64694b77
mov edi, dword [esp + 0x18]
add edi, ebp
mov ecx, ebx
cmp byte [0x647ffe40], 1
je 0x64694b8c
lea esi, [esi]
movsx edx, byte [ebp]
movzx esi, byte [ebp + 1]
movzx eax, byte [ebp + 2]
add ebp, 3
shl edx, 0x10
or eax, edx
and esi, 0xff
shl esi, 8
or eax, esi
shl eax, 8
mov dword [ecx], eax
add ecx, 4
cmp ebp, edi
jne 0x64694b48
add ebx, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x64694b2c
jmp case.0x64691f6e.5130
movzx eax, byte [ebp]
movzx esi, byte [ebp + 1]
movsx edx, byte [ebp + 2]
add ebp, 3
shl edx, 0x10
or eax, edx
and esi, 0xff
shl esi, 8
or eax, esi
shl eax, 8
mov dword [ecx], eax
add ecx, 4
cmp ebp, edi
jne 0x64694b8c
jmp 0x64694b73
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.646911f4
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 3
xor ecx, ecx
nop
xor eax, eax
mov edi, dword [esp + 8]
test edi, edi
je 0x64694c1c
mov edi, dword [esp + 8]
nop
movzx edx, byte [ebp + eax]
fld qword [0x647fff68]
fimul word [edx + edx + 0x647ffa40]
fstp qword [ebx + eax*8]
inc eax
cmp edi, eax
jne 0x64694bfc
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64694bec
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
shl ecx, 3
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
nop
mov eax, dword [esp + 8]
test eax, eax
je 0x64694cac
mov edi, dword [esp + 0x18]
add edi, ebp
mov ecx, ebx
cmp byte [0x647ffe40], 1
je 0x64694cc0
lea esi, [esi]
movzx eax, byte [ebp]
movzx edx, byte [ebp + 1]
movzx esi, byte [ebp + 2]
add ebp, 3
shl eax, 0x10
shl edx, 8
or eax, edx
and esi, 0xff
or eax, esi
sub eax, 0x800000
fld dword [0x647fff90]
push eax
fimul dword [esp]
pop eax
fstp qword [ecx]
add ecx, 8
cmp ebp, edi
jne 0x64694c70
add ebx, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x64694c54
jmp case.0x64691f6e.5130
movzx esi, byte [ebp]
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
add ebp, 3
shl eax, 0x10
shl edx, 8
or eax, edx
and esi, 0xff
or eax, esi
sub eax, 0x800000
fld dword [0x647fff90]
push eax
fimul dword [esp]
pop eax
fstp qword [ecx]
add ecx, 8
cmp ebp, edi
jne 0x64694cc0
jmp 0x64694ca8
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
shl ecx, 3
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
mov eax, dword [esp + 8]
test eax, eax
je 0x64694d77
mov edi, dword [esp + 0x18]
add edi, ebp
mov ecx, ebx
cmp byte [0x647ffe40], 1
je 0x64694d8c
lea esi, [esi]
movsx edx, byte [ebp]
movzx esi, byte [ebp + 1]
movzx eax, byte [ebp + 2]
add ebp, 3
shl edx, 0x10
or eax, edx
and esi, 0xff
shl esi, 8
or eax, esi
fld dword [0x647fff90]
push eax
fimul dword [esp]
pop eax
fstp qword [ecx]
add ecx, 8
cmp ebp, edi
jne 0x64694d40
add ebx, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x64694d24
jmp case.0x64691f6e.5130
movzx eax, byte [ebp]
movzx esi, byte [ebp + 1]
movsx edx, byte [ebp + 2]
add ebp, 3
shl edx, 0x10
or eax, edx
and esi, 0xff
shl esi, 8
or eax, esi
fld dword [0x647fff90]
push eax
fimul dword [esp]
pop edx
fstp qword [ecx]
add ecx, 8
cmp ebp, edi
jne 0x64694d8c
jmp 0x64694d73
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.64690fe8
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
xor ecx, ecx
lea esi, [esi]
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64694e26
mov edi, dword [esp + 8]
nop
movzx edx, byte [ebp + eax]
mov dx, word [edx + edx + 0x647ffa40]
sub edx, 0x8000
mov word [ebx + eax*2], dx
inc eax
cmp edi, eax
jne 0x64694e04
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64694df4
jmp case.0x64691f6e.5130
mov edi, dword [esp + 0x10]
test edi, edi
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shl ecx, 1
mov dword [esp + 0xc], ecx
add ecx, dword [esp + 8]
mov dword [esp + 0x14], ecx
xor edi, edi
nop
mov esi, dword [esp + 8]
test esi, esi
je 0x64694e94
mov esi, dword [esp + 0x14]
add esi, ebp
mov ecx, ebx
cmp byte [0x647ffe40], 1
je 0x64694ea0
lea esi, [esi]
movzx eax, byte [ebp]
movzx edx, byte [ebp + 1]
add ebp, 3
shl eax, 0x10
shl edx, 8
or eax, edx
shr eax, 8
mov word [ecx], ax
add ecx, 2
cmp ebp, esi
jne 0x64694e70
add ebx, dword [esp + 0xc]
inc edi
cmp dword [esp + 0x10], edi
jne 0x64694e54
jmp case.0x64691f6e.5130
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
add ebp, 3
shl eax, 0x10
shl edx, 8
or eax, edx
shr eax, 8
mov word [ecx], ax
add ecx, 2
cmp ebp, esi
jne 0x64694ea0
jmp 0x64694e90
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shl ecx, 1
mov dword [esp + 0x14], ecx
add ecx, dword [esp + 8]
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], 0
mov eax, dword [esp + 8]
test eax, eax
je 0x64694f39
mov edi, dword [esp + 0x18]
add edi, ebp
mov ecx, ebx
cmp byte [0x647ffe40], 1
je 0x64694f4c
lea esi, [esi]
movsx edx, byte [ebp]
movzx esi, byte [ebp + 1]
movzx eax, byte [ebp + 2]
add ebp, 3
shl edx, 0x10
or eax, edx
and esi, 0xff
shl esi, 8
or eax, esi
sar eax, 8
sub eax, 0x8000
mov word [ecx], ax
add ecx, 2
cmp ebp, edi
jne 0x64694f04
add ebx, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x64694ee8
jmp case.0x64691f6e.5130
movzx eax, byte [ebp]
movzx esi, byte [ebp + 1]
movsx edx, byte [ebp + 2]
add ebp, 3
shl edx, 0x10
or eax, edx
and esi, 0xff
shl esi, 8
or eax, esi
sar eax, 8
sub eax, 0x8000
mov word [ecx], ax
add ecx, 2
cmp ebp, edi
jne 0x64694f4c
jmp 0x64694f35
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 3
mov edi, dword [esp + 8]
shl edi, 1
xor ecx, ecx
nop
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
jne 0x64694fc2
jmp 0x646962e4
fstp st(0)
mov eax, 0xffffffff
mov word [ebx + edx*2], ax
inc edx
cmp dword [esp + 8], edx
je 0x646962e0
fld qword [ebp + edx*8]
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x64694fac
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x64696548
fmul dword [0x647fff70]
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov eax, dword [esp + 0x24]
sub eax, 0x8000
jmp 0x64694fb3
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
mov edi, dword [esp + 8]
shl edi, 1
xor ecx, ecx
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64695050
nop
movzx edx, word [ebp + eax*4 + 2]
mov word [ebx + eax*2], dx
inc eax
cmp dword [esp + 8], eax
jne 0x6469503c
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64695030
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
mov edi, dword [esp + 8]
shl edi, 1
xor ecx, ecx
nop
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
jne 0x6469509e
jmp 0x646962d0
fstp st(0)
mov eax, 0xffffffff
mov word [ebx + edx*2], ax
inc edx
cmp dword [esp + 8], edx
je 0x646962cc
fld dword [ebp + edx*4]
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x64695088
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x64696554
fmul dword [0x647fff70]
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov eax, dword [esp + 0x24]
sub eax, 0x8000
jmp 0x6469508f
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
mov edi, dword [esp + 8]
shl edi, 1
xor ecx, ecx
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64695134
nop
mov edx, dword [ebp + eax*4]
sar edx, 0x10
sub edx, 0x8000
mov word [ebx + eax*2], dx
inc eax
cmp dword [esp + 8], eax
jne 0x64695118
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x6469510c
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov edi, dword [esp + 8]
shr edi, 1
mov eax, edi
shl eax, 1
mov dword [esp + 0x1c], eax
sete byte [esp + 0x23]
lea esi, [edi*4]
mov ecx, dword [esp + 8]
shl ecx, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], 0
mov eax, dword [esp + 8]
test eax, eax
je 0x6469520f
lea eax, [ebx + 4]
cmp ebp, eax
setae dl
lea eax, [ebp + 4]
cmp ebx, eax
setae al
or edx, eax
cmp dword [esp + 8], 0xc
seta al
and edx, eax
mov eax, ebx
or eax, ebp
test al, 3
sete al
test dl, al
je 0x646969be
cmp byte [esp + 0x23], 0
jne 0x646969be
xor eax, eax
nop
mov edx, dword [ebp + eax*4]
mov dword [ebx + eax*4], edx
inc eax
cmp edi, eax
ja 0x646951c0
lea edx, [ebp + esi]
lea eax, [ebx + esi]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 8], ecx
je 0x64695207
mov eax, ecx
mov ecx, eax
neg ecx
shl ecx, 1
add edx, ecx
add ecx, dword [esp + 0xc]
mov dword [esp + 0xc], ebx
nop
mov bx, word [edx + eax*2]
mov word [ecx + eax*2], bx
inc eax
cmp dword [esp + 8], eax
ja 0x646951f4
mov ebx, dword [esp + 0xc]
add ebp, dword [esp + 0x18]
add ebx, dword [esp + 0x18]
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x10], eax
jne 0x64695178
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
xor ecx, ecx
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64695264
mov edi, dword [esp + 8]
nop
mov dx, word [ebp + eax*2]
sub edx, 0x8000
mov word [ebx + eax*2], dx
inc eax
cmp edi, eax
jne 0x6469524c
add ebp, esi
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x6469523c
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
xor ecx, ecx
xor eax, eax
mov edi, dword [esp + 8]
test edi, edi
je 0x646952ab
mov edi, dword [esp + 8]
nop
movzx edx, byte [ebp + eax]
shl edx, 8
mov word [ebx + eax*2], dx
inc eax
cmp edi, eax
jne 0x64695294
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64695284
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
xor ecx, ecx
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x646952f7
mov edi, dword [esp + 8]
nop
movsx dx, byte [ebp + eax]
sub edx, 0xffffff80
shl edx, 8
mov word [ebx + eax*2], dx
inc eax
cmp edi, eax
jne 0x646952dc
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646952cc
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shl ecx, 1
mov dword [esp + 0xc], ecx
add ecx, dword [esp + 8]
mov dword [esp + 0x14], ecx
xor edi, edi
nop
mov eax, dword [esp + 8]
test eax, eax
je 0x64695368
mov esi, dword [esp + 0x14]
add esi, ebx
mov edx, ebp
cmp byte [0x647ffe40], 1
je 0x64695374
lea esi, [esi]
mov ax, word [edx]
add edx, 2
shl eax, 0x10
shr eax, 8
mov ecx, eax
sar ecx, 0x10
mov byte [ebx], cl
sar eax, 8
mov byte [ebx + 1], al
mov byte [ebx + 2], 0
add ebx, 3
cmp ebx, esi
jne 0x64695340
add ebp, dword [esp + 0xc]
inc edi
cmp dword [esp + 0x10], edi
jne 0x64695324
jmp case.0x64691f6e.5130
mov ax, word [edx]
add edx, 2
shl eax, 0x10
shr eax, 8
mov byte [ebx], 0
mov ecx, eax
sar ecx, 8
mov byte [ebx + 1], cl
sar eax, 0x10
mov byte [ebx + 2], al
add ebx, 3
cmp ebx, esi
jne 0x64695374
jmp 0x64695364
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shl ecx, 1
mov dword [esp + 0xc], ecx
add ecx, dword [esp + 8]
mov dword [esp + 0x14], ecx
xor edi, edi
nop
mov eax, dword [esp + 8]
test eax, eax
je 0x64695405
mov esi, dword [esp + 0x14]
add esi, ebx
mov edx, ebp
cmp byte [0x647ffe40], 1
je 0x64695414
lea esi, [esi]
mov ax, word [edx]
add edx, 2
shl eax, 0x10
add eax, 0x80000000
shr eax, 8
mov ecx, eax
sar ecx, 0x10
mov byte [ebx], cl
sar eax, 8
mov byte [ebx + 1], al
mov byte [ebx + 2], 0
add ebx, 3
cmp ebx, esi
jne 0x646953d8
add ebp, dword [esp + 0xc]
inc edi
cmp dword [esp + 0x10], edi
jne 0x646953bc
jmp case.0x64691f6e.5130
mov ax, word [edx]
add edx, 2
shl eax, 0x10
add eax, 0x80000000
shr eax, 8
mov byte [ebx], 0
mov ecx, eax
sar ecx, 8
mov byte [ebx + 1], cl
sar eax, 0x10
mov byte [ebx + 2], al
add ebx, 3
cmp ebx, esi
jne 0x64695414
jmp 0x64695401
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea esi, [ecx + ecx*2]
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
je 0x6469548d
cmp byte [0x647ffe40], 1
je 0x646965e8
mov ecx, dword [esp + 8]
add ecx, ebp
mov eax, ebx
mov edi, edx
nop
mov dl, byte [ebp]
mov byte [eax], dl
inc ebp
mov byte [eax + 1], 0
mov byte [eax + 2], 0
add eax, 3
cmp ebp, ecx
jne 0x64695474
mov edx, edi
add ebx, esi
inc edx
cmp dword [esp + 0x10], edx
jne 0x64695454
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea edi, [ecx + ecx*2]
xor esi, esi
nop
mov edx, dword [esp + 8]
test edx, edx
je 0x646954e7
mov ecx, dword [esp + 8]
add ecx, ebp
mov eax, ebx
cmp byte [0x647ffe40], 1
je 0x646954f4
lea esi, [esi]
movzx edx, byte [ebp]
inc ebp
xor dl, 0x80
mov byte [eax], dl
mov byte [eax + 1], 0
mov byte [eax + 2], 0
add eax, 3
cmp ebp, ecx
jne 0x646954cc
add ebx, edi
inc esi
cmp dword [esp + 0x10], esi
jne 0x646954b0
jmp case.0x64691f6e.5130
movzx edx, byte [ebp]
inc ebp
mov byte [eax], 0
mov byte [eax + 1], 0
xor dl, 0x80
mov byte [eax + 2], dl
add eax, 3
cmp ebp, ecx
jne 0x646954f4
jmp 0x646954e5
mov edi, dword [esp + 0x10]
test edi, edi
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 8]
shl ecx, 2
mov dword [esp + 0xc], ecx
xor edi, edi
nop
mov esi, dword [esp + 8]
test esi, esi
je 0x6469557a
mov esi, dword [esp + 0x14]
add esi, ebx
mov edx, ebp
cmp byte [0x647ffe40], 1
je 0x64695588
lea esi, [esi]
mov eax, dword [edx]
add edx, 4
add eax, 0x80000000
shr eax, 8
mov ecx, eax
sar ecx, 0x10
mov byte [ebx], cl
mov ecx, eax
sar ecx, 8
mov byte [ebx + 1], cl
mov byte [ebx + 2], al
add ebx, 3
cmp ebx, esi
jne 0x64695550
add ebp, dword [esp + 0xc]
inc edi
cmp dword [esp + 0x10], edi
jne 0x64695534
jmp case.0x64691f6e.5130
mov eax, dword [edx]
add edx, 4
add eax, 0x80000000
shr eax, 8
mov byte [ebx], al
mov ecx, eax
sar ecx, 8
mov byte [ebx + 1], cl
sar eax, 0x10
mov byte [ebx + 2], al
add ebx, 3
cmp ebx, esi
jne 0x64695588
jmp 0x64695576
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], 0
lea esi, [esi]
mov edx, dword [esp + 8]
test edx, edx
je 0x64696290
cmp byte [0x647ffe40], 1
je 0x64696690
mov edx, dword [esp + 8]
add edx, ebx
mov dword [esp + 0x14], edx
mov edi, ebp
jmp 0x64695636
movzx ecx, cl
movsx ecx, byte [ecx + 0x647ffe60]
mov dword [esp + 4], ecx
shl ecx, 4
or eax, ecx
cmp dx, 0x7f7a
jg 0x6469623c
movsx esi, si
mov ecx, dword [esp + 4]
add ecx, 3
sar esi, cl
and esi, 0xf
or eax, esi
not eax
mov byte [ebx], al
inc ebx
cmp ebx, dword [esp + 0x14]
je 0x6469628c
mov cx, word [edi]
mov word [esp + 0x35], cx
mov al, byte [edi + 2]
mov byte [esp + 0x37], al
add edi, 3
movzx ecx, cl
shl ecx, 0x10
movzx eax, byte [esp + 0x36]
shl eax, 8
or ecx, eax
shr ecx, 8
sub ecx, 0x8000
mov eax, ecx
sar ax, 8
and eax, 0x80
mov edx, ecx
cmp cx, 0x8001
jge 0x6469567a
mov edx, 0xffff8001
neg edx
test ax, ax
jne 0x64695683
mov edx, ecx
lea esi, [edx + 0x84]
mov ecx, esi
sar cx, 7
cmp dx, 0x7f7a
jle 0x646955f8
mov ecx, 0xff
jmp 0x646955fb
mov edi, dword [esp + 0x10]
test edi, edi
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], 0
nop
mov esi, dword [esp + 8]
test esi, esi
je 0x64696348
cmp byte [0x647ffe40], 1
je 0x64696758
mov edx, dword [esp + 8]
add edx, ebx
mov dword [esp + 0x14], edx
mov edi, ebp
jmp 0x64695743
mov edx, ecx
lea esi, [edx + 0x84]
mov ecx, esi
sar cx, 7
cmp dx, 0x7f7a
jg 0x64696230
movzx ecx, cl
movsx ecx, byte [ecx + 0x647ffe60]
mov dword [esp + 4], ecx
shl ecx, 4
or eax, ecx
cmp dx, 0x7f7a
jg 0x64696224
movsx esi, si
mov ecx, dword [esp + 4]
add ecx, 3
sar esi, cl
and esi, 0xf
or eax, esi
not eax
mov byte [ebx], al
inc ebx
cmp ebx, dword [esp + 0x14]
je 0x64696344
mov ax, word [edi]
mov word [esp + 0x32], ax
movzx ecx, byte [edi + 2]
mov byte [esp + 0x34], cl
add edi, 3
movsx eax, al
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x33]
shl eax, 8
or ecx, eax
sar ecx, 8
mov esi, ecx
mov eax, ecx
sar ax, 8
and eax, 0x80
cmp cx, 0x8001
jge 0x64695784
mov ecx, 0xffff8001
neg ecx
test ax, ax
jne 0x646956ec
mov edx, esi
jmp 0x646956ee
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shl ecx, 3
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
lea esi, [esi]
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
jne 0x646957fe
jmp 0x64696274
fstp st(0)
xor eax, eax
mov esi, 0x7fff
mov ecx, 0xff
movsx ecx, byte [ecx + 0x647ffe60]
mov edi, ecx
shl edi, 4
or eax, edi
add ecx, 3
sar esi, cl
and esi, 0xf
or eax, esi
not eax
mov byte [ebx + edx], al
inc edx
cmp dword [esp + 8], edx
je 0x6469626c
fld qword [ebp + edx*8]
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x646957c8
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x64696590
fmul dword [0x647fff70]
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov ecx, dword [esp + 0x24]
mov esi, ecx
mov eax, ecx
sar ax, 8
and eax, 0x80
je 0x646969ac
cmp cx, 0x8001
jge 0x64695867
mov esi, 0xffff8001
neg esi
cmp si, 0x7f7a
jg 0x646957cc
add esi, 0x84
mov ecx, esi
sar cx, 7
movzx ecx, cl
movsx esi, si
jmp 0x646957d6
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov eax, dword [esp + 8]
shl eax, 2
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], 0
nop
xor edx, edx
mov eax, dword [esp + 8]
test eax, eax
jne 0x646958f2
jmp 0x64696368
fstp st(0)
xor eax, eax
mov esi, 0x7fff
mov ecx, 0xff
movsx ecx, byte [ecx + 0x647ffe60]
mov edi, ecx
shl edi, 4
or eax, edi
add ecx, 3
sar esi, cl
and esi, 0xf
or eax, esi
not eax
mov byte [ebx + edx], al
inc edx
cmp dword [esp + 8], edx
je 0x64696360
fld dword [ebp + edx*4]
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x646958bc
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x64696968
fmul dword [0x647fff70]
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov ecx, dword [esp + 0x24]
mov esi, ecx
mov eax, ecx
sar ax, 8
and eax, 0x80
je 0x646969e3
cmp cx, 0x8001
jge 0x6469595b
mov esi, 0xffff8001
neg esi
cmp si, 0x7f7a
jg 0x646958c0
add esi, 0x84
mov ecx, esi
sar cx, 7
movzx ecx, cl
movsx esi, si
jmp 0x646958ca
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 8]
mov edx, ebp
mov eax, ebx
add esp, 0x54
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.64691df8
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shr ecx, 2
mov dword [esp + 0x1c], ecx
shl ecx, 2
mov dword [esp + 0x14], ecx
sete byte [esp + 0x23]
mov dword [esp + 0x18], 0
nop
mov eax, dword [esp + 8]
test eax, eax
je 0x64695a5c
lea eax, [ebx + 4]
cmp ebp, eax
setae dl
lea eax, [ebp + 4]
cmp ebx, eax
setae al
or edx, eax
cmp dword [esp + 8], 9
seta al
and edx, eax
mov eax, ebx
or eax, ebp
test al, 3
sete al
test dl, al
je 0x646969d8
cmp byte [esp + 0x23], 0
jne 0x646969d8
xor eax, eax
mov ecx, dword [esp + 0x1c]
nop
mov edx, dword [ebp + eax*4]
mov dword [ebx + eax*4], edx
inc eax
cmp ecx, eax
ja 0x64695a14
mov edi, dword [esp + 0x14]
add edi, ebp
mov esi, dword [esp + 0x14]
add esi, ebx
mov eax, dword [esp + 0x14]
cmp dword [esp + 8], eax
je 0x64695a54
mov ecx, eax
neg ecx
add edi, ecx
mov dword [esp + 0xc], ebx
lea edx, [esi + ecx]
mov bl, byte [edi + eax]
mov byte [edx + eax], bl
inc eax
cmp dword [esp + 8], eax
ja 0x64695a40
mov ebx, dword [esp + 0xc]
add ebp, dword [esp + 8]
add ebx, dword [esp + 8]
inc dword [esp + 0x18]
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x10], edi
jne 0x646959c8
jmp case.0x64691f6e.5130
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64696252
mov dword [esp + 0x18], ebx
jmp 0x64695af8
mov ebx, ecx
lea esi, [ebx + 0x84]
mov ecx, esi
sar cx, 7
cmp bx, 0x7f7a
jg 0x646961dc
movzx ecx, cl
movsx ecx, byte [ecx + 0x647ffe60]
mov edi, ecx
shl edi, 4
mov dword [esp + 0xc], edi
or edx, dword [esp + 0xc]
cmp bx, 0x7f7a
jg 0x646961d0
movsx esi, si
add ecx, 3
sar esi, cl
and esi, 0xf
or edx, esi
not edx
mov ecx, dword [esp + 0x18]
mov byte [ecx + eax], dl
inc eax
cmp dword [esp + 8], eax
je 0x64696248
movzx ecx, byte [ebp + eax]
add ecx, 0xffffff80
shl ecx, 8
mov esi, ecx
mov edx, ecx
sar dx, 8
and edx, 0x80
cmp cx, 0x8001
jge 0x64695b1d
mov ecx, 0xffff8001
neg ecx
test dx, dx
jne 0x64695a9c
mov ebx, esi
jmp 0x64695a9e
mov dword [esp + 0x14], 0
mov edi, dword [esp + 0x10]
test edi, edi
je case.0x64691f6e.5130
nop
xor eax, eax
mov esi, dword [esp + 8]
test esi, esi
je 0x6469641a
mov dword [esp + 0x18], ebx
jmp 0x64695bb4
mov ebx, ecx
lea esi, [ebx + 0x84]
mov ecx, esi
sar cx, 7
cmp bx, 0x7f7a
jg 0x646961f4
movzx ecx, cl
movsx ecx, byte [ecx + 0x647ffe60]
mov edi, ecx
shl edi, 4
mov dword [esp + 0xc], edi
or edx, dword [esp + 0xc]
cmp bx, 0x7f7a
jg 0x646961e8
movsx esi, si
add ecx, 3
sar esi, cl
and esi, 0xf
or edx, esi
not edx
mov ecx, dword [esp + 0x18]
mov byte [ecx + eax], dl
inc eax
cmp dword [esp + 8], eax
je 0x64696410
movsx ecx, byte [ebp + eax]
shl ecx, 8
mov esi, ecx
mov edx, ecx
sar dx, 8
and edx, 0x80
cmp cx, 0x8001
jge 0x64695bd6
mov ecx, 0xffff8001
neg ecx
test dx, dx
jne 0x64695b58
mov ebx, esi
jmp 0x64695b5a
mov edi, dword [esp + 0x10]
test edi, edi
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shl ecx, 1
mov dword [esp + 0xc], ecx
add ecx, dword [esp + 8]
mov dword [esp + 0x14], ecx
xor edi, edi
mov esi, dword [esp + 8]
test esi, esi
je 0x64695c4f
mov esi, dword [esp + 0x14]
add esi, ebx
mov eax, ebp
cmp byte [0x647ffe40], 1
je 0x64695c5c
lea esi, [esi]
mov dx, word [eax]
add eax, 2
shl edx, 0x10
add edx, 0x80000000
mov ecx, edx
sar ecx, 0x18
mov byte [ebx], cl
sar edx, 0x10
mov byte [ebx + 1], dl
mov byte [ebx + 2], 0
add ebx, 3
cmp ebx, esi
jne 0x64695c24
add ebp, dword [esp + 0xc]
inc edi
cmp dword [esp + 0x10], edi
jne 0x64695c08
jmp case.0x64691f6e.5130
mov dx, word [eax]
add eax, 2
shl edx, 0x10
add edx, 0x80000000
mov byte [ebx], 0
mov ecx, edx
sar ecx, 0x10
mov byte [ebx + 1], cl
sar edx, 0x18
mov byte [ebx + 2], dl
add ebx, 3
cmp ebx, esi
jne 0x64695c5c
jmp 0x64695c4b
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shl ecx, 1
mov dword [esp + 0xc], ecx
add ecx, dword [esp + 8]
mov dword [esp + 0x14], ecx
xor edi, edi
lea esi, [esi]
mov eax, dword [esp + 8]
test eax, eax
je 0x64695ced
cmp byte [0x647ffe40], 1
je 0x64696668
mov esi, dword [esp + 0x14]
add esi, ebx
mov eax, ebp
lea esi, [esi]
mov dx, word [eax]
add eax, 2
shl edx, 0x10
mov ecx, edx
sar ecx, 0x18
mov byte [ebx], cl
sar edx, 0x10
mov byte [ebx + 1], dl
mov byte [ebx + 2], 0
add ebx, 3
cmp ebx, esi
jne 0x64695cc8
add ebp, dword [esp + 0xc]
inc edi
cmp dword [esp + 0x10], edi
jne 0x64695ca8
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea edi, [ecx + ecx*2]
xor esi, esi
nop
mov eax, dword [esp + 8]
test eax, eax
je 0x64695d46
mov ecx, dword [esp + 8]
add ecx, ebp
mov eax, ebx
cmp byte [0x647ffe40], 1
je 0x64695d54
lea esi, [esi]
mov dl, byte [ebp]
inc ebp
add edx, 0xffffff80
mov byte [eax], dl
mov byte [eax + 1], 0
mov byte [eax + 2], 0
add eax, 3
cmp ebp, ecx
jne 0x64695d2c
add ebx, edi
inc esi
cmp dword [esp + 0x10], esi
jne 0x64695d10
jmp case.0x64691f6e.5130
mov dl, byte [ebp]
inc ebp
mov byte [eax], 0
mov byte [eax + 1], 0
add edx, 0xffffff80
mov byte [eax + 2], dl
add eax, 3
cmp ebp, ecx
jne 0x64695d54
jmp 0x64695d44
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea esi, [ecx + ecx*2]
xor edx, edx
nop
mov eax, dword [esp + 8]
test eax, eax
je 0x64695dbd
cmp byte [0x647ffe40], 1
je 0x64696914
mov ecx, dword [esp + 8]
add ecx, ebp
mov eax, ebx
mov edi, edx
nop
mov dl, byte [ebp]
mov byte [eax], dl
inc ebp
mov byte [eax + 1], 0
mov byte [eax + 2], 0
add eax, 3
cmp ebp, ecx
jne 0x64695da4
mov edx, edi
add ebx, esi
inc edx
cmp dword [esp + 0x10], edx
jne 0x64695d84
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
shl ecx, 2
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
nop
mov eax, dword [esp + 8]
test eax, eax
je 0x64695e48
cmp byte [0x647ffe40], 1
je 0x646968e0
mov edi, dword [esp + 0x18]
add edi, ebx
mov edx, ebp
lea esi, [esi]
mov eax, dword [edx]
add edx, 4
add eax, 0x80000000
mov ecx, eax
sar ecx, 8
mov dword [esp + 0x1c], ecx
mov esi, eax
sar esi, 0x18
mov ecx, esi
mov byte [ebx], cl
sar eax, 0x10
mov byte [ebx + 1], al
mov al, byte [esp + 0x1c]
mov byte [ebx + 2], al
add ebx, 3
cmp ebx, edi
jne 0x64695e14
add ebp, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x64695df4
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
shl ecx, 2
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
lea esi, [esi]
mov edx, dword [esp + 8]
test edx, edx
je 0x64695ed7
cmp byte [0x647ffe40], 1
je 0x646968b0
mov edi, dword [esp + 0x18]
add edi, ebx
mov edx, ebp
lea esi, [esi]
mov eax, dword [edx]
add edx, 4
mov ecx, eax
sar ecx, 8
mov dword [esp + 0x1c], ecx
mov esi, eax
sar esi, 0x18
mov ecx, esi
mov byte [ebx], cl
sar eax, 0x10
mov byte [ebx + 1], al
mov al, byte [esp + 0x1c]
mov byte [ebx + 2], al
add ebx, 3
cmp ebx, edi
jne 0x64695ea8
add ebp, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x64695e88
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
shl ecx, 2
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
mov eax, dword [esp + 8]
test eax, eax
je 0x64696384
mov edi, dword [esp + 0x18]
add edi, ebx
mov edx, ebp
cmp byte [0x647ffe40], 1
jne 0x64695f5f
jmp 0x64695fe7
fstp st(0)
mov byte [esp + 0x1c], 0xff
mov cl, 0xff
mov esi, 0x7f
mov eax, esi
mov byte [ebx], al
mov byte [ebx + 1], cl
mov cl, byte [esp + 0x1c]
mov byte [ebx + 2], cl
add ebx, 3
cmp ebx, edi
je 0x64696380
fld dword [edx]
add edx, 4
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x64695f38
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x64696989
fld qword [0x647fff78]
fmulp st(1)
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov eax, dword [esp + 0x24]
mov esi, eax
shr esi, 0x18
mov ecx, eax
shr ecx, 0x10
shr eax, 8
mov byte [esp + 0x1c], al
jmp 0x64695f46
fstp st(0)
mov esi, 0xffffffff
mov cl, 0xff
mov byte [esp + 0x1c], 0x7f
mov eax, esi
mov byte [ebx], al
mov byte [ebx + 1], cl
mov cl, byte [esp + 0x1c]
mov byte [ebx + 2], cl
add ebx, 3
cmp ebx, edi
je 0x64696380
fld dword [edx]
add edx, 4
fld1
fxch st(1)
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x45
je 0x64695fc0
fld1
fchs
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x6469699c
fld qword [0x647fff78]
fmulp st(1)
fnstcw word [esp + 0x2a]
mov ax, word [esp + 0x2a]
mov ah, 0xc
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x24]
fldcw word [esp + 0x2a]
mov esi, dword [esp + 0x24]
mov eax, esi
shr eax, 0x18
mov byte [esp + 0x1c], al
mov ecx, esi
shr ecx, 0x10
shr esi, 8
jmp 0x64695fce
mov edi, dword [esp + 0x10]
test edi, edi
je case.0x64691f6e.5130
mov ecx, dword [esp + 8]
shl ecx, 2
xor edx, edx
xor eax, eax
mov esi, dword [esp + 8]
test esi, esi
je 0x6469607c
mov edi, dword [esp + 8]
nop
mov esi, dword [ebp + eax*4]
mov dword [ebx + eax*4], esi
inc eax
cmp edi, eax
jne 0x6469606c
add ebp, ecx
add ebx, ecx
inc edx
cmp dword [esp + 0x10], edx
jne 0x6469605c
jmp case.0x64691f6e.5130
mov eax, dword [esp + 0x10]
test eax, eax
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
lea esi, [esi]
xor eax, eax
mov edi, dword [esp + 8]
test edi, edi
je 0x646960c6
mov edi, dword [esp + 8]
nop
movzx edx, byte [ebp + eax]
shl edx, 0x18
mov dword [ebx + eax*4], edx
inc eax
cmp edi, eax
jne 0x646960b0
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646960a0
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
nop
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64696111
mov edi, dword [esp + 8]
nop
movsx edx, byte [ebp + eax]
sub edx, 0xffffff80
shl edx, 0x18
mov dword [ebx + eax*4], edx
inc eax
cmp edi, eax
jne 0x646960f8
add ebp, dword [esp + 8]
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646960e8
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 1
mov edi, dword [esp + 8]
shl edi, 2
xor ecx, ecx
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x64696160
nop
movsx edx, word [ebp + eax*2]
add edx, 0x8000
shl edx, 0x10
mov dword [ebx + eax*4], edx
inc eax
cmp dword [esp + 8], eax
jne 0x64696144
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64696138
jmp case.0x64691f6e.5130
mov ecx, dword [esp + 0x10]
test ecx, ecx
je case.0x64691f6e.5130
mov esi, dword [esp + 8]
shl esi, 2
xor ecx, ecx
lea esi, [esi]
xor eax, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x646961aa
mov edi, dword [esp + 8]
nop
mov edx, dword [ebp + eax*4]
add edx, 0x80000000
mov dword [ebx + eax*4], edx
inc eax
cmp edi, eax
jne 0x64696194
add ebp, esi
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64696184
jmp case.0x64691f6e.5130
mov esi, 0x7fff
jmp 0x646926e5
mov esi, 0x7fff
jmp 0x646927a9
mov esi, 0x7fff
jmp 0x64695ada
mov ecx, 0xff
jmp 0x64695ab8
mov esi, 0x7fff
jmp 0x64695b96
mov ecx, 0xff
jmp 0x64695b74
mov esi, 0x7fff
jmp 0x64692559
mov esi, 0x7fff
jmp 0x6469263a
mov ecx, 0xff
jmp 0x64692618
mov esi, 0x7fff
jmp 0x64695726
mov ecx, 0xff
jmp 0x64695708
mov esi, 0x7fff
jmp 0x64695619
mov ebx, ecx
add ebp, dword [esp + 8]
add ebx, dword [esp + 8]
inc dword [esp + 0x14]
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x10], edi
jne 0x64695a88
jmp case.0x64691f6e.5130
add ebp, dword [esp + 0x14]
add ebx, dword [esp + 8]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x646957b8
jmp case.0x64691f6e.5130
add ebp, dword [esp + 0x1c]
inc dword [esp + 0x18]
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x10], edi
jne 0x646955d0
jmp case.0x64691f6e.5130
mov ebx, ecx
add ebp, dword [esp + 0x18]
add ebx, dword [esp + 8]
inc dword [esp + 0x14]
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x10], edi
jne 0x64692770
jmp case.0x64691f6e.5130
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64695078
jmp case.0x64691f6e.5130
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64694f9c
jmp case.0x64691f6e.5130
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64694624
jmp case.0x64691f6e.5130
add ebp, esi
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646948f0
jmp case.0x64691f6e.5130
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64694868
jmp case.0x64691f6e.5130
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646941f0
jmp case.0x64691f6e.5130
add ebp, dword [esp + 0x1c]
inc dword [esp + 0x18]
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x10], edi
jne 0x646956c4
jmp case.0x64691f6e.5130
add ebp, dword [esp + 0x14]
add ebx, dword [esp + 8]
inc dword [esp + 0xc]
mov edx, dword [esp + 0xc]
cmp dword [esp + 0x10], edx
jne 0x646958ac
jmp case.0x64691f6e.5130
add ebp, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x64695f14
jmp case.0x64691f6e.5130
add ebp, esi
add ebx, dword [esp + 8]
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646922e4
jmp case.0x64691f6e.5130
add ebp, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x64692380
jmp case.0x64691f6e.5130
add ebp, esi
add ebx, esi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64693f74
jmp case.0x64691f6e.5130
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64693ee8
jmp case.0x64691f6e.5130
add ebp, esi
add ebx, dword [esp + 8]
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64693aa4
jmp case.0x64691f6e.5130
mov ebx, ecx
add ebp, dword [esp + 8]
add ebx, dword [esp + 8]
inc dword [esp + 0x14]
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x10], edi
jne 0x64695b44
jmp case.0x64691f6e.5130
mov ebx, ecx
add ebp, dword [esp + 0x18]
add ebx, dword [esp + 8]
inc dword [esp + 0x14]
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x10], edi
jne 0x646925e8
jmp case.0x64691f6e.5130
mov ebx, ecx
add ebp, dword [esp + 0x18]
add ebx, dword [esp + 8]
inc dword [esp + 0x14]
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x10], edi
jne 0x64692520
jmp case.0x64691f6e.5130
mov ebx, ecx
add ebp, dword [esp + 0x18]
add ebx, dword [esp + 8]
inc dword [esp + 0x14]
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x10], edi
jne 0x646926ac
jmp case.0x64691f6e.5130
add ebp, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x64692b64
jmp case.0x64691f6e.5130
add ebp, dword [esp + 0x14]
inc dword [esp + 0xc]
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x10], edi
jne 0x646929fc
jmp case.0x64691f6e.5130
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x6469363c
jmp case.0x64691f6e.5130
add ebp, esi
add ebx, edi
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646935ac
jmp case.0x64691f6e.5130
add ebp, esi
add ebx, dword [esp + 8]
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x646931bc
jmp case.0x64691f6e.5130
add ebp, esi
add ebx, dword [esp + 8]
inc ecx
cmp dword [esp + 0x10], ecx
jne 0x64693060
jmp case.0x64691f6e.5130
fstp st(0)
mov eax, 0x80000000
jmp 0x6469487f
fstp st(0)
mov al, pe_nt_image_headers32
jmp 0x64693abc
fstp st(0)
xor eax, eax
jmp 0x64694fb3
fstp st(0)
xor eax, eax
jmp 0x6469508f
fstp st(0)
xor eax, eax
jmp 0x646931d4
fstp st(0)
xor eax, eax
jmp 0x64693078
fstp st(0)
mov al, pe_nt_image_headers32
jmp 0x646922fc
fstp st(0)
mov eax, 0xffff8000
jmp 0x646935c3
fstp st(0)
mov al, pe_nt_image_headers32
jmp 0x646957cc
fstp st(0)
mov byte [esp + 0x1c], 0
xor ecx, ecx
mov esi, 0xffffff80
jmp 0x646923b2
fstp st(0)
xor eax, eax
jmp 0x64693f8f
fstp st(0)
xor eax, eax
jmp 0x64693eff
fstp st(0)
xor eax, eax
mov byte [esp + 0x1c], 0
xor esi, esi
jmp 0x64692b96
fstp st(0)
xor eax, eax
mov byte [esp + 0x1c], 0
xor esi, esi
jmp 0x64692a2e
mov edi, dword [esp + 8]
add edi, ebp
mov eax, ebx
mov cl, byte [ebp]
mov byte [eax + 2], cl
inc ebp
mov byte [eax], 0
mov byte [eax + 1], 0
add eax, 3
cmp ebp, edi
jne 0x646965f0
add ebx, esi
jmp 0x6469548d
mov eax, dword [esp + 0x14]
add eax, ebp
mov dword [esp + 0xc], eax
mov edx, ebx
mov ax, word [ebp]
mov word [esp + 0x4d], ax
movsx ecx, byte [ebp + 2]
mov byte [esp + 0x4f], cl
add ebp, 3
movzx eax, al
mov esi, ecx
shl esi, 0x10
or eax, esi
movzx esi, byte [esp + 0x4e]
shl esi, 8
or eax, esi
add eax, 0x800000
and eax, 0xffffff
mov byte [edx], al
mov ecx, eax
sar ecx, 8
mov byte [edx + 1], cl
sar eax, 0x10
mov byte [edx + 2], al
add edx, 3
cmp ebp, dword [esp + 0xc]
jne 0x64696618
jmp 0x646929bf
mov ecx, dword [esp + 0x14]
add ecx, ebx
mov eax, ebp
mov dx, word [eax]
add eax, 2
mov byte [ebx], 0
mov byte [ebx + 1], dl
movsx edx, dh
mov byte [ebx + 2], dl
add ebx, 3
cmp ebx, ecx
jne 0x64696670
jmp 0x64695ce9
mov eax, dword [esp + 8]
add eax, ebx
mov dword [esp + 0x14], eax
mov edi, ebp
jmp 0x646966de
movzx ecx, cl
movsx ecx, byte [ecx + 0x647ffe60]
mov dword [esp + 4], ecx
shl ecx, 4
or eax, ecx
cmp dx, 0x7f7a
jg 0x6469674c
movsx esi, si
mov ecx, dword [esp + 4]
add ecx, 3
sar esi, cl
and esi, 0xf
or eax, esi
not eax
mov byte [ebx], al
inc ebx
cmp ebx, dword [esp + 0x14]
je 0x6469628c
mov ax, word [edi]
mov word [esp + 0x35], ax
movzx ecx, byte [edi + 2]
mov byte [esp + 0x37], cl
add edi, 3
shl ecx, 0x10
movzx eax, byte [esp + 0x36]
shl eax, 8
or ecx, eax
shr ecx, 8
sub ecx, 0x8000
mov eax, ecx
sar ax, 8
and eax, 0x80
mov edx, ecx
cmp cx, 0x8001
jge 0x64696720
mov edx, 0xffff8001
neg edx
test ax, ax
jne 0x64696729
mov edx, ecx
lea esi, [edx + 0x84]
mov ecx, esi
sar cx, 7
cmp dx, 0x7f7a
jle 0x646966a0
mov ecx, 0xff
jmp 0x646966a3
mov esi, 0x7fff
jmp 0x646966c1
mov eax, dword [esp + 8]
add eax, ebx
mov dword [esp + 0x14], eax
mov edi, ebp
jmp 0x646967bb
mov edx, ecx
lea esi, [edx + 0x84]
mov ecx, esi
sar cx, 7
cmp dx, 0x7f7a
jg 0x64696818
movzx ecx, cl
movsx ecx, byte [ecx + 0x647ffe60]
mov dword [esp + 4], ecx
shl ecx, 4
or eax, ecx
cmp dx, 0x7f7a
jg 0x64696810
movsx esi, si
mov ecx, dword [esp + 4]
add ecx, 3
sar esi, cl
and esi, 0xf
or eax, esi
not eax
mov byte [ebx], al
inc ebx
cmp ebx, dword [esp + 0x14]
je 0x64696344
mov cx, word [edi]
mov word [esp + 0x32], cx
movsx eax, byte [edi + 2]
mov byte [esp + 0x34], al
add edi, 3
movzx ecx, cl
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x33]
shl eax, 8
or ecx, eax
sar ecx, 8
mov esi, ecx
mov eax, ecx
sar ax, 8
and eax, 0x80
cmp cx, 0x8001
jge 0x646967fc
mov ecx, 0xffff8001
neg ecx
test ax, ax
jne 0x64696768
mov edx, esi
jmp 0x6469676a
mov esi, 0x7fff
jmp 0x6469679e
mov ecx, 0xff
jmp 0x64696784
mov esi, dword [esp + 0x14]
add esi, ebp
mov edx, ebx
mov ax, word [ebp]
mov word [esp + 0x41], ax
movzx eax, byte [ebp + 2]
mov byte [esp + 0x43], al
add ebp, 3
shl eax, 0x10
movzx ecx, byte [esp + 0x42]
shl ecx, 8
or eax, ecx
movzx ecx, byte [esp + 0x41]
or eax, ecx
sub eax, 0x800000
mov ecx, eax
shl ecx, 8
mov byte [edx], al
mov eax, ecx
sar eax, 0x10
mov byte [edx + 1], al
sar ecx, 0x18
mov byte [edx + 2], cl
add edx, 3
cmp ebp, esi
jne 0x6469682c
add ebx, dword [esp + 0x14]
jmp 0x64693c61
mov ecx, dword [esp + 8]
add ecx, ebp
mov eax, ebx
movzx edx, byte [ebp]
inc ebp
movsx edx, word [edx + edx + 0x647ffa40]
mov byte [eax], 0
mov byte [eax + 1], dl
sar edx, 8
mov byte [eax + 2], dl
add eax, 3
cmp ebp, ecx
jne 0x64696888
jmp 0x64693bb0
mov esi, dword [esp + 0x18]
add esi, ebx
mov edx, ebp
mov eax, dword [edx]
add edx, 4
mov ecx, eax
sar ecx, 8
mov byte [ebx], cl
mov ecx, eax
sar ecx, 0x10
mov byte [ebx + 1], cl
sar eax, 0x18
mov byte [ebx + 2], al
add ebx, 3
cmp ebx, esi
jne 0x646968b8
jmp 0x64695ed3
mov esi, dword [esp + 0x18]
add esi, ebx
mov edx, ebp
mov eax, dword [edx]
add edx, 4
add eax, 0x80000000
mov ecx, eax
sar ecx, 8
mov byte [ebx], cl
mov ecx, eax
sar ecx, 0x10
mov byte [ebx + 1], cl
sar eax, 0x18
mov byte [ebx + 2], al
add ebx, 3
cmp ebx, esi
jne 0x646968e8
jmp 0x64695e44
mov edi, dword [esp + 8]
add edi, ebp
mov eax, ebx
mov cl, byte [ebp]
mov byte [eax + 2], cl
inc ebp
mov byte [eax], 0
mov byte [eax + 1], 0
add eax, 3
cmp ebp, edi
jne 0x6469691c
add ebx, esi
jmp 0x64695dbd
fstp st(0)
xor esi, esi
xor ecx, ecx
mov byte [esp + 0x1c], pe_nt_image_headers32
jmp 0x6469243a
fstp st(0)
xor esi, esi
xor ecx, ecx
mov byte [esp + 0x1c], 0
jmp 0x64692c22
fstp st(0)
xor esi, esi
xor ecx, ecx
mov byte [esp + 0x1c], 0
jmp 0x64692aba
fstp st(0)
mov al, pe_nt_image_headers32
jmp 0x646958c0
fstp st(0)
mov eax, 0xffff8000
jmp 0x64693653
fstp st(0)
mov eax, 0x80000000
jmp 0x6469490b
fstp st(0)
mov byte [esp + 0x1c], 0
xor ecx, ecx
mov esi, 0xffffff80
jmp 0x64695f46
fstp st(0)
xor esi, esi
xor ecx, ecx
mov byte [esp + 0x1c], pe_nt_image_headers32
jmp 0x64695fce
xor eax, eax
jmp 0x64695869
mov edi, ebx
mov esi, ebp
xor eax, eax
jmp 0x64693402
mov dword [esp + 0xc], ebx
mov edx, ebp
xor eax, eax
jmp 0x646951e3
mov dword [esp + 0xc], ebx
mov edx, ebp
xor eax, eax
jmp 0x64692ebf
mov esi, ebx
mov edi, ebp
xor eax, eax
jmp 0x64695a36
xor eax, eax
jmp 0x6469595d
mov esi, ebx
mov edi, ebp
xor eax, eax
jmp 0x646932ca
mov esi, ebx
mov edi, ebp
xor eax, eax
jmp 0x646939c2
mov edi, ebx
mov esi, ebp
xor eax, eax
jmp 0x646938ec