Function at 0x43f3f0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push edi
push ebx
sub esp, 0x38
mov ebx, edx
movzx edi, byte [ebp + 0x14]
mov edx, eax
mov eax, dword [0x4f6e34]
xor eax, esp
pxor xmm2, xmm2
movss xmm5, dword [edi*4 + 0x51fe30]
movss xmm6, dword [edi*4 + 0x51f840]
mov edi, ecx
and edi, 3
mov dword [esp + 0x30], eax
shr ecx, 2
je 0x43f213
xor eax, eax
movss dword [esp + 8], xmm6
movss dword [esp + 0xc], xmm5
mov dword [esp], edi
mov dword [esp + 4], esi
add eax, 0x10
movss xmm5, dword [esp + 8]
movss dword [esp + 0x10], xmm2
lea edi, [ebx + eax]
movss xmm7, dword [edi - 0x10]
mulss xmm7, xmm5
movss xmm0, dword [edi - 0xc]
cvtss2sd xmm7, xmm7
mulss xmm0, xmm5
movss xmm2, dword [edi - 8]
movss xmm4, dword [edi - 4]
cvtss2sd xmm0, xmm0
mulss xmm2, xmm5
mulss xmm4, xmm5
cvtss2sd xmm2, xmm2
cvtss2sd xmm4, xmm4
movsd xmm5, qword [0x490080]
addsd xmm7, xmm5
addsd xmm0, xmm5
addsd xmm2, xmm5
addsd xmm4, xmm5
cvtsd2ss xmm6, xmm7
cvtsd2ss xmm1, xmm0
movd esi, xmm6
pxor xmm6, xmm6
cvtsd2ss xmm3, xmm2
cvtss2sd xmm6, dword [esi*4 - 0x2bae8800]
cvtsd2ss xmm5, xmm4
movd esi, xmm1
addsd xmm6, xmm7
pxor xmm1, xmm1
cvtss2sd xmm1, dword [esi*4 - 0x2bae8800]
cvtsd2ss xmm6, xmm6
movd esi, xmm3
addsd xmm1, xmm0
cvtss2sd xmm7, dword [esi*4 - 0x2bae8800]
cvtsd2ss xmm1, xmm1
movd esi, xmm5
addsd xmm7, xmm2
cvtss2sd xmm3, dword [esi*4 - 0x2bae8800]
cvtsd2ss xmm7, xmm7
addsd xmm3, xmm4
cvtsd2ss xmm3, xmm3
unpcklps xmm6, xmm1
unpcklps xmm7, xmm3
movlhps xmm6, xmm7
paddd xmm6, xmmword [0x490030]
movd esi, xmm6
movaps xmm4, xmm6
psrldq xmm4, 4
movaps xmm0, xmm6
movdqu xmmword [esp + 0x20], xmm6
movaps xmm2, xmm6
psrldq xmm2, 8
movss xmm6, dword [esi*4 + 0x520240]
movd esi, xmm4
psrldq xmm0, 0xc
movss xmm3, dword [esp + 0xc]
movss xmm1, dword [eax + edx - 4]
movss xmm4, dword [esi*4 + 0x520240]
movd esi, xmm2
andps xmm1, xmmword [0x490040]
movss xmm5, dword [eax + edx - 0x10]
mulss xmm6, xmm3
mulss xmm4, xmm3
movss xmm2, dword [esi*4 + 0x520240]
movd esi, xmm0
andps xmm5, xmmword [0x490040]
movss xmm7, dword [eax + edx - 8]
subss xmm5, xmm6
mulss xmm2, xmm3
cvtss2sd xmm5, xmm5
movss xmm0, dword [esi*4 + 0x520240]
mulss xmm0, xmm3
mulsd xmm5, xmm5
subss xmm1, xmm0
cvtss2sd xmm1, xmm1
movss xmm6, dword [eax + edx - 0xc]
andps xmm6, xmmword [0x490040]
andps xmm7, xmmword [0x490040]
subss xmm6, xmm4
mulsd xmm1, xmm1
subss xmm7, xmm2
cvtss2sd xmm2, dword [esp + 0x10]
cvtss2sd xmm6, xmm6
cvtss2sd xmm7, xmm7
addsd xmm2, xmm1
mulsd xmm6, xmm6
mulsd xmm7, xmm7
addsd xmm2, xmm5
addsd xmm2, xmm6
addsd xmm2, xmm7
cvtsd2ss xmm2, xmm2
dec ecx
jne 0x43f037
movss xmm6, dword [esp + 8]
mov ebx, edi
movaps xmm5, xmm3
add edx, eax
mov edi, dword [esp]
mov esi, dword [esp + 4]
test edi, edi
je 0x43f3c9
cmp edi, 3
je 0x43f248
cmp edi, 2
je 0x43f23f
pxor xmm1, xmm1
movaps xmm0, xmm1
cmp edi, 1
jne 0x43f236
cmp edi, 3
jmp 0x43f262
cmp edi, 3
pxor xmm6, xmm6
jmp 0x43f26e
cmp edi, 3
pxor xmm1, xmm1
jmp 0x43f255
movss xmm1, dword [ebx + 8]
mulss xmm1, xmm6
cvtss2sd xmm1, xmm1
movss xmm0, dword [ebx + 4]
mulss xmm0, xmm6
cvtss2sd xmm0, xmm0
movss xmm3, dword [ebx]
mulss xmm6, xmm3
cvtss2sd xmm6, xmm6
movsd xmm4, qword [0x490080]
pxor xmm3, xmm3
pxor xmm7, xmm7
addsd xmm6, xmm4
addsd xmm0, xmm4
addsd xmm1, xmm4
cvtsd2ss xmm3, xmm6
cvtsd2ss xmm7, xmm0
movd eax, xmm3
pxor xmm3, xmm3
movss dword [esp + 0x10], xmm2
pxor xmm2, xmm2
movd ecx, xmm7
cvtss2sd xmm3, dword [eax*4 - 0x2bae8800]
cvtsd2ss xmm2, xmm1
addsd xmm3, xmm6
movd ebx, xmm2
pxor xmm6, xmm6
cvtss2sd xmm6, dword [ecx*4 - 0x2bae8800]
cvtsd2ss xmm3, xmm3
addsd xmm6, xmm0
pxor xmm0, xmm0
cvtss2sd xmm0, dword [ebx*4 - 0x2bae8800]
cvtsd2ss xmm6, xmm6
addsd xmm0, xmm1
pxor xmm1, xmm1
cvtss2sd xmm1, dword [0x517800]
cvtsd2ss xmm0, xmm0
addsd xmm4, xmm1
cvtsd2ss xmm4, xmm4
unpcklps xmm3, xmm6
unpcklps xmm0, xmm4
movlhps xmm3, xmm0
paddd xmm3, xmmword [0x490030]
movdqu xmmword [esp + 0x20], xmm3
movss xmm2, dword [esp + 0x10]
je 0x43f33b
cmp edi, 2
je 0x43f335
pxor xmm0, xmm0
movaps xmm3, xmm0
cmp edi, 1
je 0x43f385
pxor xmm4, xmm4
jmp 0x43f3a9
pxor xmm0, xmm0
jmp 0x43f360
mov eax, dword [esp + 0x28]
movss xmm0, dword [edx + 8]
andps xmm0, xmmword [0x490040]
movss xmm1, dword [eax*4 + 0x520240]
mulss xmm1, xmm5
subss xmm0, xmm1
cvtss2sd xmm0, xmm0
mov eax, dword [esp + 0x24]
movss xmm3, dword [edx + 4]
andps xmm3, xmmword [0x490040]
movss xmm1, dword [eax*4 + 0x520240]
mulss xmm1, xmm5
subss xmm3, xmm1
cvtss2sd xmm3, xmm3
mov eax, dword [esp + 0x20]
movss xmm4, dword [edx]
andps xmm4, xmmword [0x490040]
movss xmm1, dword [eax*4 + 0x520240]
mulss xmm1, xmm5
subss xmm4, xmm1
cvtss2sd xmm4, xmm4
cvtss2sd xmm2, xmm2
mulsd xmm4, xmm4
mulsd xmm3, xmm3
mulsd xmm0, xmm0
addsd xmm2, xmm4
addsd xmm2, xmm3
addsd xmm2, xmm0
cvtsd2ss xmm2, xmm2
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x30], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x43f3f0
movss dword [esp], xmm2
fld dword [esp]
add esp, 0x38
pop ebx
pop edi
mov esp, ebp
pop ebp
ret
call fcn.00466f40
nop dword [eax]
nop dword [eax]
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0xf4
mov ecx, dword [ebp + 8]
mov eax, dword [0x4f6e34]
xor eax, esp
mov dword [esp + 0xec], eax
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0xc], edx
mov edx, dword [ecx + 0x14]
mov dword [esp + 8], edx
mov edx, dword [eax + 0x1300]
test edx, edx
jle 0x43f6c4
cmp edx, 4
jl 0x43fefe
mov esi, dword [ebp + 0xc]
and esi, 0xf
je 0x43f464
test esi, 3
jne 0x43fefe
neg esi
add esi, 0x10
shr esi, 2
lea ecx, [esi + 4]
cmp edx, ecx
jl 0x43fefe
mov edi, edx
xor ebx, ebx
sub edi, esi
xor ecx, ecx
and edi, 3
neg edi
add edi, edx
mov dword [esp + 0x10], ecx
test esi, esi
jbe 0x43f4f1
mov dword [esp], 0
mov dword [esp + 0x44], edx
mov dword [esp + 4], edi
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], eax
mov edx, dword [esp]
mov esi, dword [ebp + 0xc]
mov edi, dword [esp + 0x10]
mov eax, dword [esi + edx*4]
neg eax
add eax, dword [ebp + 0x14]
cmp eax, edi
cmovge edi, eax
mov dword [esp + 0x10], edi
movzx edi, byte [edx + 0x49009c]
inc edx
lea esi, [edi + edi + 0x38]
neg esi
add esi, eax
cmp esi, ebx
cmovge ebx, esi
lea esi, [edi*4 + 0x38]
sub eax, esi
cmp eax, ecx
cmovge ecx, eax
cmp edx, dword [esp + 0x18]
jb 0x43f4a0
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 4]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
movd xmm0, dword [ebp + 0x14]
movd xmm5, ebx
movd xmm6, dword [esp + 0x10]
movd xmm4, ecx
pshufd xmm0, xmm0, 0
pshufd xmm6, xmm6, 0
pshufd xmm5, xmm5, 0
pshufd xmm4, xmm4, 0
movdqu xmm3, xmmword [0x490050]
movdqu xmmword [esp + 0x20], xmm0
mov ecx, dword [ebp + 0xc]
movdqu xmm2, xmmword [esp + 0x20]
movdqa xmm7, xmm6
psubd xmm2, xmmword [ecx + esi*4]
movdqa xmm0, xmm2
pxor xmm7, xmm2
pcmpgtd xmm0, xmm6
pand xmm0, xmm7
movd xmm1, dword [esi + 0x49009c]
pxor xmm7, xmm7
punpcklbw xmm1, xmm7
pxor xmm6, xmm0
punpcklwd xmm1, xmm7
movdqa xmm0, xmm2
movdqa xmm7, xmm1
pslld xmm1, 2
pslld xmm7, 1
paddd xmm1, xmm3
paddd xmm7, xmm3
psubd xmm2, xmm1
psubd xmm0, xmm7
add esi, 4
movdqa xmm1, xmm0
pxor xmm0, xmm5
pcmpgtd xmm1, xmm5
pand xmm1, xmm0
movdqa xmm0, xmm2
pcmpgtd xmm0, xmm4
pxor xmm2, xmm4
pand xmm0, xmm2
pxor xmm5, xmm1
pxor xmm4, xmm0
cmp esi, edi
jb 0x43f529
movdqa xmm0, xmm4
movdqa xmm1, xmm4
psrldq xmm0, 8
movdqa xmm7, xmm5
pcmpgtd xmm1, xmm0
pxor xmm4, xmm0
pand xmm1, xmm4
movdqa xmm4, xmm5
pxor xmm1, xmm0
psrldq xmm4, 8
movdqa xmm2, xmm1
psrldq xmm2, 4
movdqa xmm3, xmm1
pcmpgtd xmm7, xmm4
pxor xmm5, xmm4
pcmpgtd xmm3, xmm2
pxor xmm1, xmm2
pand xmm7, xmm5
pand xmm3, xmm1
pxor xmm7, xmm4
movdqa xmm1, xmm6
psrldq xmm1, 8
pxor xmm3, xmm2
movdqa xmm5, xmm7
movdqa xmm2, xmm6
psrldq xmm5, 4
movdqa xmm0, xmm7
pcmpgtd xmm2, xmm1
pxor xmm6, xmm1
pcmpgtd xmm0, xmm5
pxor xmm7, xmm5
pand xmm2, xmm6
pand xmm0, xmm7
pxor xmm2, xmm1
pxor xmm0, xmm5
movdqa xmm6, xmm2
movd ebx, xmm0
movdqa xmm0, xmm2
psrldq xmm6, 4
pcmpgtd xmm0, xmm6
pxor xmm2, xmm6
pand xmm0, xmm2
pxor xmm0, xmm6
movd ecx, xmm3
movd esi, xmm0
cmp edi, edx
jae 0x43f6ca
mov dword [esp + 0x44], edx
mov dword [esp + 0x14], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + edi*4]
neg eax
add eax, dword [ebp + 0x14]
movzx edx, byte [edi + 0x49009c]
cmp eax, esi
cmovge esi, eax
inc edi
mov dword [esp], esi
lea esi, [edx + edx + 0x38]
neg esi
add esi, eax
cmp esi, ebx
cmovge ebx, esi
lea esi, [edx*4 + 0x38]
sub eax, esi
cmp eax, ecx
mov esi, dword [esp]
cmovge ecx, eax
cmp edi, dword [esp + 0x44]
jb 0x43f67b
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x14]
jmp 0x43f6ca
xor ebx, ebx
xor ecx, ecx
xor esi, esi
mov edi, dword [esp + 0xc]
cmp dword [edi + 0x20], 2
je 0x43f6d8
mov edi, ebx
jmp 0x43f6df
cmp ebx, ecx
mov edi, ecx
cmovl edi, ebx
cmp edi, ebx
jne 0x43f6f1
mov dword [eax + 0x12e4], 0
xor ecx, ecx
jmp 0x43f70c
cmp edi, ecx
jne 0x43f706
mov dword [eax + 0x12e4], 1
mov ecx, 1
jmp 0x43f70c
mov ecx, dword [eax + 0x12e4]
cmp edi, esi
mov ebx, dword [esp + 8]
cmovl esi, edi
mov edi, dword [ebp + 0x14]
sub edi, esi
mov esi, 0xff
cmp ebx, edi
mov dword [esp + 0x14], eax
cmovge edi, ebx
cmp edi, 0xff
cmovl esi, edi
mov ebx, esi
movd xmm1, edi
sar ebx, 0x1f
not ebx
and ebx, esi
mov dword [eax + 0x12ac], ebx
mov ebx, dword [ebp + 0xc]
pshufd xmm0, xmm1, 0
movdqu xmm2, xmmword [ebx]
movdqu xmm3, xmmword [ebx + 0x10]
movdqu xmm4, xmmword [ebx + 0x20]
movdqu xmm5, xmmword [ebx + 0x30]
movdqu xmm6, xmmword [ebx + 0x40]
movdqu xmm7, xmmword [ebx + 0x50]
movdqu xmm1, xmmword [ebx + 0x60]
mov esi, dword [ebx + 0x90]
psubd xmm2, xmm0
psubd xmm3, xmm0
sub esi, edi
movdqu xmmword [esp + 0x50], xmm2
psubd xmm4, xmm0
movdqu xmmword [esp + 0x60], xmm3
psubd xmm5, xmm0
mov dword [esp + 0xc], esi
psubd xmm6, xmm0
mov dword [esp + 0xe0], esi
psubd xmm7, xmm0
movdqu xmm2, xmmword [ebx + 0x70]
movdqu xmm3, xmmword [ebx + 0x80]
mov esi, dword [ebx + 0x94]
psubd xmm1, xmm0
mov ebx, dword [ebx + 0x98]
sub esi, edi
sub ebx, edi
mov edi, 2
cmp ecx, 1
mov ecx, edi
mov dword [esp + 4], esi
sbb ecx, 0
mov edi, 7
cmp edx, 0x12
mov dword [esp + 0xe4], esi
mov dword [esp], ebx
psubd xmm2, xmm0
mov dword [esp + 0xe8], ebx
mov ebx, 0x12
cmova edx, ebx
mov esi, 0xf
xor ebx, ebx
shl esi, cl
psubd xmm3, xmm0
mov dword [esp + 0x24], esi
mov esi, edi
shl esi, cl
movdqu xmmword [esp + 0x70], xmm4
movdqu xmmword [esp + 0x80], xmm5
movdqu xmmword [esp + 0x90], xmm6
movdqu xmmword [esp + 0xa0], xmm7
movdqu xmmword [esp + 0xb0], xmm1
movdqu xmmword [esp + 0xc0], xmm2
movdqu xmmword [esp + 0xd0], xmm3
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x44], edx
mov esi, ebx
cmp ebx, dword [esp + 0x44]
jae 0x43f922
mov ecx, dword [esp + 0x44]
mov eax, 0xaaaaaaab
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x2c], 0
lea edx, [ecx + edi + 2]
mov dword [esp + 0x28], edx
mul edx
mov edi, 0x3e8
shr edx, 2
mov dword [esp + 0x3c], edx
je 0x43ff0b
xor eax, eax
lea esi, [esp + ebx*4 + 0x50]
mov dword [esp + 8], ebx
xor ecx, ecx
mov edx, dword [esp + 0x2c]
mov ebx, dword [ecx + esi]
inc eax
neg ebx
cmp ebx, edx
cmovge edx, ebx
cmp ebx, edi
cmovl edi, ebx
mov ebx, dword [ecx + esi + 0xc]
add ecx, 0x18
neg ebx
cmp ebx, edx
cmovge edx, ebx
cmp ebx, edi
cmovl edi, ebx
cmp eax, dword [esp + 0x3c]
jb 0x43f8aa
mov dword [esp + 0x2c], edx
lea edx, [eax + eax*2]
mov ebx, dword [esp + 8]
lea esi, [ebx + edx*2]
lea ecx, [eax + eax + 1]
mov eax, 0xaaaaaaab
mul dword [esp + 0x28]
mov dword [esp + 0x38], edi
lea edi, [ecx - 1]
shr edx, 1
cmp edi, edx
mov edi, dword [esp + 0x38]
jae 0x43f92f
mov edx, dword [esp + 0x2c]
lea esi, [ecx + ecx*2]
lea eax, [esp + esi*4 + 0x50]
add esi, ebx
mov ecx, dword [eax + ebx*4 - 0xc]
neg ecx
cmp ecx, edx
cmovge edx, ecx
cmp ecx, edi
mov dword [esp + 0x2c], edx
cmovl edi, ecx
jmp 0x43f92f
mov dword [esp + 0x2c], 0
mov edi, 0x3e8
cmp esi, 0x27
jae 0x43f9dd
mov ecx, esi
mov eax, 0xaaaaaaab
neg ecx
add ecx, 0x29
mul ecx
mov dword [esp + 0x30], ecx
xor ecx, ecx
shr edx, 2
mov dword [esp + 0x40], edx
je 0x43ff15
xor eax, eax
lea edx, [esp + esi*4 + 0x50]
mov dword [esp + 8], ebx
mov dword [esp + 0x10], esi
mov ebx, eax
mov esi, dword [ebx + edx]
inc eax
neg esi
cmp esi, ecx
cmovge ecx, esi
cmp esi, edi
cmovl edi, esi
mov esi, dword [ebx + edx + 0xc]
add ebx, 0x18
neg esi
cmp esi, ecx
cmovge ecx, esi
cmp esi, edi
cmovl edi, esi
cmp eax, dword [esp + 0x40]
jb 0x43f969
mov esi, dword [esp + 0x10]
lea eax, [eax + eax + 1]
mov ebx, dword [esp + 8]
mov dword [esp + 0x34], eax
mov eax, 0xaaaaaaab
mul dword [esp + 0x30]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x34]
shr edx, 1
lea edi, [edi - 1]
cmp edi, edx
mov edi, dword [esp + 0x38]
jae 0x43f9df
mov eax, dword [esp + 0x34]
lea edx, [esp + esi*4 + 0x50]
lea esi, [eax + eax*2]
mov eax, dword [edx + esi*4 - 0xc]
neg eax
cmp eax, ecx
cmovge ecx, eax
cmp eax, edi
cmovl edi, eax
jmp 0x43f9df
xor ecx, ecx
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x24]
sub ecx, dword [esp + 0x20]
cmp eax, ecx
cmovge ecx, eax
test edi, edi
jle 0x44004f
sar edi, 3
test ecx, ecx
jle 0x43fa0a
add ecx, 7
sar ecx, 3
cmp edi, ecx
cmovl edi, ecx
test edi, edi
jle 0x43fa3b
mov edx, dword [esp + 0x14]
lea esi, [edi*8]
mov ecx, dword [ebp + 8]
mov dword [edx + ebx*4 + 0x12c8], edi
mov eax, dword [edx + 0x12ac]
mov edx, dword [ecx + ebx*4 + 0x18]
mov ecx, eax
sub ecx, edx
sub eax, esi
sar ecx, 3
cmp edx, eax
cmovg edi, ecx
mov eax, 7
cmp edi, 7
mov edx, dword [esp + 0x14]
cmovge edi, eax
mov ecx, dword [esp + 0x18]
cmp edi, ecx
mov dword [edx + ebx*4 + 0x12c8], edi
cmovl ecx, edi
inc ebx
dec dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
cmp ebx, 3
jb 0x43f85d
mov eax, edx
mov esi, dword [esp + 0x50]
mov ecx, dword [eax + 0x12c8]
mov edx, dword [eax + 0x12cc]
mov ebx, dword [eax + 0x12d0]
mov edi, dword [esp + 0x18]
lea esi, [esi + ecx*8]
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x54]
lea esi, [esi + edx*8]
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x58]
lea esi, [esi + ebx*8]
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x5c]
lea esi, [esi + ecx*8]
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x60]
lea esi, [esi + edx*8]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x64]
lea esi, [esi + ebx*8]
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x68]
lea esi, [esi + ecx*8]
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x6c]
lea esi, [esi + edx*8]
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x70]
lea esi, [esi + ebx*8]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x74]
lea esi, [esi + ecx*8]
mov dword [esp + 0x74], esi
mov esi, dword [esp + 0x78]
lea esi, [esi + edx*8]
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x7c]
lea esi, [esi + ebx*8]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x80]
lea esi, [esi + ecx*8]
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0x84]
lea esi, [esi + edx*8]
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0x88]
lea esi, [esi + ebx*8]
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x8c]
lea esi, [esi + ecx*8]
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 0x90]
lea esi, [esi + edx*8]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x94]
lea esi, [esi + ebx*8]
mov dword [esp + 0x94], esi
mov esi, dword [esp + 0x98]
lea esi, [esi + ecx*8]
mov dword [esp + 0x98], esi
mov esi, dword [esp + 0x9c]
lea esi, [esi + edx*8]
mov dword [esp + 0x9c], esi
mov esi, dword [esp + 0xa0]
lea esi, [esi + ebx*8]
mov dword [esp + 0xa0], esi
mov esi, dword [esp + 0xa4]
lea esi, [esi + ecx*8]
mov dword [esp + 0xa4], esi
mov esi, dword [esp + 0xa8]
lea esi, [esi + edx*8]
mov dword [esp + 0xa8], esi
mov esi, dword [esp + 0xac]
lea esi, [esi + ebx*8]
mov dword [esp + 0xac], esi
mov esi, dword [esp + 0xb0]
lea esi, [esi + ecx*8]
mov dword [esp + 0xb0], esi
mov esi, dword [esp + 0xb4]
lea esi, [esi + edx*8]
mov dword [esp + 0xb4], esi
mov esi, dword [esp + 0xb8]
lea esi, [esi + ebx*8]
mov dword [esp + 0xb8], esi
mov esi, dword [esp + 0xbc]
lea esi, [esi + ecx*8]
mov dword [esp + 0xbc], esi
mov esi, dword [esp + 0xc0]
lea esi, [esi + edx*8]
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0xc4]
lea esi, [esi + ebx*8]
mov dword [esp + 0xc4], esi
mov esi, dword [esp + 0xc8]
lea esi, [esi + ecx*8]
mov dword [esp + 0xc8], esi
mov esi, dword [esp + 0xcc]
lea esi, [esi + edx*8]
mov dword [esp + 0xcc], esi
mov esi, dword [esp + 0xd0]
lea esi, [esi + ebx*8]
mov dword [esp + 0xd0], esi
mov esi, dword [esp + 0xd4]
lea esi, [esi + ecx*8]
mov dword [esp + 0xd4], esi
mov esi, dword [esp + 0xd8]
lea esi, [esi + edx*8]
mov dword [esp + 0xd8], esi
mov esi, dword [esp + 0xdc]
lea esi, [esi + ebx*8]
mov dword [esp + 0xdc], esi
mov esi, dword [esp + 0xc]
lea esi, [esi + ecx*8]
mov dword [esp + 0xe0], esi
mov esi, dword [esp + 4]
lea esi, [esi + edx*8]
mov dword [esp + 0xe4], esi
mov esi, dword [esp]
lea esi, [esi + ebx*8]
mov dword [esp + 0xe8], esi
test edi, edi
jle 0x43fcee
sub ecx, edi
sub edx, edi
sub ebx, edi
shl edi, 3
mov dword [eax + 0x12c8], ecx
mov dword [eax + 0x12cc], edx
mov dword [eax + 0x12d0], ebx
sub dword [eax + 0x12ac], edi
mov esi, 4
mov ecx, 2
mov edx, 1
cmp dword [eax + 0x12e4], 0
mov ebx, dword [eax + 0x12fc]
cmove esi, ecx
cmove ecx, edx
cmp dword [eax + 0x12e0], 0
je 0x43fe48
cmp ebx, 0xb
jle 0x43fde1
lea edx, [ebx - 0xb]
mov dword [esp], edx
cmp edx, 5
jl 0x43ff22
mov edi, dword [0x48d7ec]
lea edx, [ebx - 8]
imul edi, esi
and edx, 3
movd xmm0, esi
pshufd xmm2, xmm0, 0
movdqa xmm1, xmm2
movdqu xmm0, xmmword [0x490060]
psrlq xmm1, 0x20
neg edx
add edx, dword [esp]
mov dword [esp + 4], edx
mov edx, dword [esp + 8]
add edx, edi
mov edi, dword [esp + 4]
mov dword [esp + 0x7c], edx
mov edx, 1
movdqu xmm3, xmmword [edx*4 + 0x48d7ec]
movdqa xmm4, xmm2
pmuludq xmm4, xmm3
psrlq xmm3, 0x20
pmuludq xmm3, xmm1
pand xmm4, xmm0
psllq xmm3, 0x20
por xmm4, xmm3
paddd xmm4, xmmword [esp + edx*4 + 0x7c]
movdqu xmmword [esp + edx*4 + 0x7c], xmm4
add edx, 4
cmp edx, edi
jb 0x43fd7a
mov dword [esp + 4], edi
mov edx, dword [esp + 4]
cmp edx, dword [esp]
jae 0x43fded
mov dword [esp + 0x14], eax
mov edi, dword [esp]
mov eax, dword [edx*4 + 0x48d7ec]
imul eax, esi
add dword [esp + edx*4 + 0x7c], eax
inc edx
cmp edx, edi
jb 0x43fdc8
mov eax, dword [esp + 0x14]
jmp 0x43fded
mov edx, dword [esp + 8]
mov dword [esp + 0x7c], edx
test ebx, ebx
jle 0x43fe54
mov dword [esp + 0xc], esi
lea edi, [esi - 1]
mov dword [esp], edi
xor edx, edx
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov ebx, dword [edx*4 + 0x48d7c0]
mov esi, dword [eax + edx*4 + 0x13a4]
imul ebx, dword [esp + 0xc]
mov ecx, dword [eax + esi*4 + 0x12c8]
shl ecx, 3
mov esi, dword [eax + 0x12ac]
sub esi, ecx
sub esi, ebx
mov ebx, dword [esp + edx*4 + 0x50]
test ebx, ebx
jl 0x43ff37
mov dword [eax + edx*4 + 0x1200], 0
inc edx
cmp edx, dword [esp + 8]
jb 0x43fe01
jmp 0x43fe9e
mov edx, dword [esp + 8]
mov dword [esp + 0x7c], edx
test ebx, ebx
jg 0x43fe58
xor edx, edx
jmp 0x43fea3
dec esi
xor edx, edx
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov esi, dword [eax + edx*4 + 0x13a4]
mov ebx, dword [esp + edx*4 + 0x50]
mov ecx, dword [eax + esi*4 + 0x12c8]
shl ecx, 3
mov esi, dword [eax + 0x12ac]
sub esi, ecx
test ebx, ebx
jl 0x44000b
mov dword [eax + edx*4 + 0x1200], 0
inc edx
cmp edx, dword [esp + 8]
jb 0x43fe67
cmp edx, 0x27
jge 0x43fed1
mov edi, edx
neg edi
add edi, 0x27
cmp edi, 0x18
jle 0x43ff7a
lea eax, [eax + edx*4 + 0x1200]
shl edx, 2
neg edx
add edx, 0x9c
push edx
push 0
push eax
call fcn.00449a20
add esp, 0xc
mov ecx, dword [esp + 0xec]
mov dword [esp + 0xec], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x440006
add esp, 0xf4
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor ebx, ebx
xor ecx, ecx
xor esi, esi
xor edi, edi
jmp 0x43f66f
mov ecx, 1
jmp 0x43f8e5
mov dword [esp + 0x34], 1
jmp 0x43f9a2
mov edx, dword [esp + 8]
mov dword [esp + 0x7c], edx
mov dword [esp + 4], 0
jmp 0x43fdb8
mov edi, dword [ebp + 0x10]
neg ebx
add ebx, dword [esp]
mov ecx, dword [esp + 4]
sar ebx, cl
sub esi, dword [edi + edx*4]
movzx edi, byte [edx + 0x49009c]
cmp edi, ebx
cmovl ebx, edi
test ebx, ebx
jle 0x43ff6e
mov edi, ebx
shl edi, cl
cmp edi, esi
jle 0x43ff6e
sar esi, cl
mov dword [eax + edx*4 + 0x1200], esi
jmp 0x43fe3f
mov dword [eax + edx*4 + 0x1200], ebx
jmp 0x43fe3f
cmp edi, 4
jl 0x440002
lea ebx, [eax + edx*4 + 0x1200]
mov ecx, ebx
and ecx, 0xf
je 0x43ff9e
test cl, 3
jne 0x440002
neg ecx
add ecx, 0x10
shr ecx, 2
lea esi, [ecx + 4]
cmp edi, esi
jl 0x440002
mov esi, edi
sub esi, ecx
and esi, 3
neg esi
add esi, edi
test ecx, ecx
jbe 0x43ffd2
mov dword [esp], 0
mov dword [esp + 0x14], eax
mov eax, dword [esp]
mov dword [ebx + eax*4], 0
inc eax
cmp eax, ecx
jb 0x43ffc2
mov eax, dword [esp + 0x14]
pxor xmm0, xmm0
movdqu xmmword [ebx + ecx*4], xmm0
add ecx, 4
cmp ecx, esi
jb 0x43ffd6
cmp esi, edi
jae 0x43fed1
lea eax, [eax + edx*4 + 0x1200]
mov dword [eax + esi*4], 0
inc esi
cmp esi, edi
jb 0x43fff1
jmp 0x43fed1
xor esi, esi
jmp 0x43ffe2
call fcn.00466f40
mov edi, dword [ebp + 0x10]
neg ebx
add ebx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
sar ebx, cl
sub esi, dword [edi + edx*4]
movzx edi, byte [edx + 0x49009c]
cmp edi, ebx
cmovl ebx, edi
test ebx, ebx
jle 0x440043
mov edi, ebx
shl edi, cl
cmp edi, esi
jle 0x440043
sar esi, cl
mov dword [eax + edx*4 + 0x1200], esi
jmp 0x43fe97
mov dword [eax + edx*4 + 0x1200], ebx
jmp 0x43fe97
xor edi, edi
test ecx, ecx
jg 0x43f9ff
jmp 0x43fa3b