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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xd8
push esi
push edi
mov eax, edx
mov dword [esp + 0x74], eax
mov edi, ecx
mov dword [esp + 0x7c], edi
and dword [esp + 0xa8], 0
xorps xmm1, xmm1
and eax, 0xfffffffc
movaps xmmword [esp + 0x60], xmm1
mov esi, dword [ebp + 0x18]
xorps xmm7, xmm7
mov dword [esp + 0x4c], eax
xorps xmm3, xmm3
movaps xmmword [esp + 0x80], xmm7
movzx ecx, byte [ebp + 8]
lea edx, [esi + eax*4]
or eax, 0xffffffff
mov dword [esp + 0x48], ecx
mov dword [esp + 0xac], eax
xorps xmm4, xmm4
shl eax, cl
xorps xmm5, xmm5
mov ecx, dword [ebp + 0xc]
not eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x78], eax
movd xmm0, eax
pshufd xmm0, xmm0, 0
movaps xmmword [esp + 0xd0], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x50], xmm0
cmp ecx, 4
jl 0x4325ef
mov eax, dword [ebp + 0x14]
add ecx, 0xfffffffc
movups xmm0, xmmword [esi - 0x10]
movaps xmmword [esp + 0x50], xmm0
movaps xmm7, xmm0
movups xmm3, xmmword [eax]
movaps xmm6, xmm3
cmp ecx, 4
jl 0x43251c
movups xmm1, xmmword [esi - 0x20]
add ecx, 0xfffffffc
movups xmm4, xmmword [eax + 0x10]
movaps xmmword [esp + 0x60], xmm1
movaps xmm0, xmm1
movaps xmm2, xmm4
movups xmmword [esp + 0xb0], xmm2
movups xmmword [esp + 0x90], xmm0
cmp ecx, 4
jne 0x432405
movups xmm0, xmmword [esi - 0x30]
movups xmm5, xmmword [eax + 0x20]
movaps xmmword [esp + 0x80], xmm0
jmp 0x4326b2
movaps xmmword [esp + 0x60], xmm0
movaps xmm0, xmm7
movaps xmmword [esp + 0x50], xmm0
movaps xmm4, xmm2
movaps xmm3, xmm6
sub ecx, 1
je 0x4324d3
sub ecx, 1
je 0x43249c
sub ecx, 1
jne 0x4326b2
movd xmm0, dword [eax + 0x24]
movd xmm2, dword [eax + 0x28]
movd xmm5, dword [eax + 0x20]
xor eax, eax
movaps xmm4, xmmword [esp + 0xb0]
movd xmm1, ecx
punpckldq xmm2, xmm1
movd xmm1, dword [esi - 0x24]
punpckldq xmm5, xmm0
movd xmm0, dword [esi - 0x2c]
punpcklqdq xmm5, xmm2
movd xmm2, dword [esi - 0x28]
movd xmm3, eax
punpckldq xmm2, xmm1
punpckldq xmm3, xmm0
punpcklqdq xmm3, xmm2
movaps xmmword [esp + 0x80], xmm3
movaps xmm1, xmmword [esp + 0x90]
movaps xmmword [esp + 0x60], xmm1
movaps xmm3, xmm6
movaps xmm0, xmm7
movaps xmmword [esp + 0x50], xmm0
jmp 0x4326b2
movd xmm1, dword [eax + 0x24]
xorps xmm0, xmm0
movd xmm5, dword [eax + 0x20]
movaps xmm4, xmm2
punpckldq xmm5, xmm1
movd xmm1, dword [esi - 0x28]
punpcklqdq xmm5, xmm0
movd xmm0, dword [esi - 0x24]
punpckldq xmm1, xmm0
xorps xmm0, xmm0
punpcklqdq xmm0, xmm1
movaps xmmword [esp + 0x80], xmm0
jmp 0x43247f
movd xmm5, dword [eax + 0x20]
xor ecx, ecx
xor eax, eax
xorps xmm3, xmm3
movaps xmm4, xmm2
movd xmm0, ecx
punpckldq xmm5, xmm0
xorps xmm0, xmm0
punpckldq xmm5, xmm0
movd xmm0, dword [esi - 0x24]
movd xmm1, eax
punpckldq xmm1, xmm0
punpckldq xmm3, xmm1
movaps xmmword [esp + 0x80], xmm3
movaps xmm3, xmmword [esp + 0x90]
movaps xmmword [esp + 0x60], xmm3
jmp 0x43248c
movaps xmm0, xmm7
movaps xmm3, xmm6
movaps xmmword [esp + 0x50], xmm0
sub ecx, 1
je 0x4325b9
sub ecx, 1
je 0x43258d
sub ecx, 1
jne 0x4326b2
movd xmm0, dword [eax + 0x14]
movd xmm2, dword [eax + 0x18]
movd xmm4, dword [eax + 0x10]
xor eax, eax
movd xmm1, ecx
punpckldq xmm2, xmm1
movd xmm1, dword [esi - 0x14]
punpckldq xmm4, xmm0
movd xmm0, dword [esi - 0x1c]
punpcklqdq xmm4, xmm2
movd xmm2, dword [esi - 0x18]
movd xmm3, eax
punpckldq xmm2, xmm1
movaps xmmword [esp + 0x60], xmm3
movaps xmm1, xmmword [esp + 0x60]
punpckldq xmm1, xmm0
punpcklqdq xmm1, xmm2
jmp 0x432487
movd xmm1, dword [eax + 0x14]
xorps xmm0, xmm0
movd xmm4, dword [eax + 0x10]
xorps xmm2, xmm2
punpckldq xmm4, xmm1
movd xmm1, dword [esi - 0x18]
punpcklqdq xmm4, xmm0
movd xmm0, dword [esi - 0x14]
punpckldq xmm1, xmm0
punpcklqdq xmm2, xmm1
jmp 0x4325e5
movd xmm4, dword [eax + 0x10]
xor ecx, ecx
xor eax, eax
xorps xmm2, xmm2
movd xmm0, ecx
punpckldq xmm4, xmm0
xorps xmm0, xmm0
punpckldq xmm4, xmm0
movd xmm0, dword [esi - 0x14]
movd xmm1, eax
punpckldq xmm1, xmm0
punpckldq xmm2, xmm1
movaps xmmword [esp + 0x60], xmm2
jmp 0x43248c
mov eax, ecx
sub eax, 1
je 0x43267f
sub eax, 1
je 0x432651
sub eax, 1
jne 0x4326b2
movd xmm1, eax
mov eax, dword [ebp + 0x14]
movd xmm0, dword [eax + 4]
movd xmm2, dword [eax + 8]
movd xmm3, dword [eax]
xor eax, eax
punpckldq xmm2, xmm1
movd xmm1, dword [esi - 4]
punpckldq xmm3, xmm0
movd xmm0, dword [esi - 0xc]
punpcklqdq xmm3, xmm2
movd xmm2, dword [esi - 8]
movd xmm6, eax
punpckldq xmm2, xmm1
punpckldq xmm6, xmm0
punpcklqdq xmm6, xmm2
movaps xmmword [esp + 0x50], xmm6
jmp 0x4326b2
mov eax, dword [ebp + 0x14]
movd xmm1, dword [eax + 4]
movd xmm3, dword [eax]
punpckldq xmm3, xmm1
movd xmm1, dword [esi - 8]
punpcklqdq xmm3, xmm0
movd xmm0, dword [esi - 4]
punpckldq xmm1, xmm0
xorps xmm0, xmm0
punpcklqdq xmm0, xmm1
jmp 0x432492
xor eax, eax
xorps xmm2, xmm2
movd xmm0, eax
mov eax, dword [ebp + 0x14]
movd xmm3, dword [eax]
xor eax, eax
punpckldq xmm3, xmm0
xorps xmm0, xmm0
punpckldq xmm3, xmm0
movd xmm0, dword [esi - 4]
movd xmm1, eax
punpckldq xmm1, xmm0
punpckldq xmm2, xmm1
movaps xmmword [esp + 0x50], xmm2
mov ecx, dword [esp + 0x48]
pshufd xmm0, xmm3, 0x1b
inc ecx
movaps xmmword [esp + 0xb0], xmm0
pshufd xmm0, xmm4, 0x1b
push 0x20
pop eax
movaps xmmword [esp + 0xc0], xmm0
sub eax, ecx
pshufd xmm0, xmm5, 0x1b
movaps xmmword [esp + 0x90], xmm0
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], eax
cmp esi, edx
jae 0x43388d
cmp dword [0x5192d4], 0
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x101c]
mov dword [esp + 0x10], ecx
je 0x432713
lzcnt eax, edx
mov dword [esp + 0x18], eax
jmp 0x43272f
test edx, edx
jne 0x43271c
push 0x20
pop eax
jmp 0x43270d
bsr eax, edx
mov dword [esp + 0x18], 0x1f
sub dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
cmp eax, 0x20
jae 0x432741
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
jmp 0x4328fe
push 0x20
pop eax
sub eax, ecx
mov dword [esp + 0x20], eax
cmp dword [edi + 0x14], 0x400
jae 0x4328b5
mov ecx, dword [edi + 0x1028]
mov eax, dword [edi + 0x1024]
movzx edx, word [edi + 0x1020]
test ecx, ecx
jne 0x4327e8
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 0x10
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
movzx eax, al
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x47fa40]
jmp 0x43288d
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x432867
sub eax, 1
je 0x432845
sub eax, 1
je 0x432823
sub eax, 1
jne 0x432886
mov eax, dword [edi + 0x1024]
mov ecx, edx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
movzx ecx, dx
shr ecx, 8
movzx eax, al
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
and dword [edi + 0x1028], 0
movzx eax, dx
mov word [edi + 0x1020], ax
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + eax*4 + 0x1c]
inc eax
push ecx
mov dword [edi + 0x14], eax
call fcn.0044d5b3
pop ecx
mov edx, eax
xor ecx, ecx
mov dword [edi + 0x1024], edx
jmp 0x4328cd
mov ecx, edi
call fcn.0042c2f5
test eax, eax
je 0x433fa3
mov edx, dword [edi + 0x101c]
mov ecx, dword [edi + 0x18]
cmp dword [0x5192d4], 0
mov dword [esp + 0x10], ecx
je 0x4328e0
lzcnt ecx, edx
jmp 0x4328f1
test edx, edx
jne 0x4328e9
push 0x20
pop ecx
jmp 0x4328f1
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x20], ecx
cmp ecx, 0x20
jae 0x43274a
mov eax, dword [esp + 0x10]
shl edx, cl
add eax, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], edx
shr dword [esp + 0x2c], cl
cmp eax, ecx
ja 0x432923
mov ecx, dword [esp + 0x34]
shl edx, cl
add eax, ecx
jmp 0x432aed
sub eax, dword [esp + 0x24]
cmp dword [edi + 0x14], 0x400
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
jae 0x432aa0
mov ecx, dword [edi + 0x1028]
mov eax, dword [edi + 0x1024]
movzx edx, word [edi + 0x1020]
test ecx, ecx
jne 0x4329d1
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 0x10
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
movzx eax, al
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x47fa40]
jmp 0x432a76
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x432a50
sub eax, 1
je 0x432a2e
sub eax, 1
je 0x432a0c
sub eax, 1
jne 0x432a6f
mov eax, dword [edi + 0x1024]
mov ecx, edx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
movzx ecx, dx
shr ecx, 8
movzx eax, al
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
and dword [edi + 0x1028], 0
movzx eax, dx
mov word [edi + 0x1020], ax
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + eax*4 + 0x1c]
inc eax
push ecx
mov dword [edi + 0x14], eax
call fcn.0044d5b3
mov edx, eax
mov eax, dword [esp + 0x18]
pop ecx
mov dword [edi + 0x1024], edx
jmp 0x432acc
mov ecx, edi
call fcn.0042c2f5
test eax, eax
je 0x433fa3
mov ecx, dword [esp + 0x14]
push 0x20
pop eax
sub eax, dword [edi + 0x18]
cmp ecx, eax
ja 0x433fa3
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x101c]
add eax, ecx
push 0x20
pop ecx
sub ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], edx
shr dword [esp + 0x2c], cl
mov ecx, dword [esp + 0x14]
shl edx, cl
mov ecx, dword [esp + 0x2c]
or ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], ecx
cmp dword [0x5192d4], 0
mov dword [esp + 0x10], eax
mov dword [edi + 0x101c], edx
mov dword [edi + 0x18], eax
je 0x432b09
lzcnt ecx, edx
jmp 0x432b1e
test edx, edx
jne 0x432b12
push 0x20
pop ecx
jmp 0x432b1e
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
mov eax, dword [esp + 0x10]
cmp ecx, 0x20
jae 0x432b2c
mov dword [esp + 0x1c], ecx
jmp 0x432ce9
push 0x20
pop ecx
sub ecx, eax
mov dword [esp + 0x1c], ecx
cmp dword [edi + 0x14], 0x400
jae 0x432ca0
mov ecx, dword [edi + 0x1028]
mov eax, dword [edi + 0x1024]
movzx edx, word [edi + 0x1020]
test ecx, ecx
jne 0x432bd3
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 0x10
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
movzx eax, al
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x47fa40]
jmp 0x432c78
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x432c52
sub eax, 1
je 0x432c30
sub eax, 1
je 0x432c0e
sub eax, 1
jne 0x432c71
mov eax, dword [edi + 0x1024]
mov ecx, edx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
movzx ecx, dx
shr ecx, 8
movzx eax, al
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
and dword [edi + 0x1028], 0
movzx eax, dx
mov word [edi + 0x1020], ax
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + eax*4 + 0x1c]
inc eax
push ecx
mov dword [edi + 0x14], eax
call fcn.0044d5b3
pop ecx
mov edx, eax
xor ecx, ecx
mov dword [edi + 0x1024], edx
jmp 0x432cb8
mov ecx, edi
call fcn.0042c2f5
test eax, eax
je 0x433fa3
mov edx, dword [edi + 0x101c]
mov ecx, dword [edi + 0x18]
cmp dword [0x5192d4], 0
mov dword [esp + 0x10], ecx
je 0x432ccb
lzcnt ecx, edx
jmp 0x432cdc
test edx, edx
jne 0x432cd4
push 0x20
pop ecx
jmp 0x432cdc
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x1c], ecx
cmp ecx, 0x20
jae 0x432b35
mov eax, dword [esp + 0x10]
shl edx, cl
add eax, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
shr dword [esp + 0x18], cl
cmp eax, ecx
ja 0x432d12
mov ecx, dword [esp + 0x34]
shl edx, cl
add eax, ecx
mov dword [esp + 0x10], eax
jmp 0x432edb
sub eax, dword [esp + 0x24]
cmp dword [edi + 0x14], 0x400
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
jae 0x432e93
mov ecx, dword [edi + 0x1028]
mov eax, dword [edi + 0x1024]
movzx edx, word [edi + 0x1020]
test ecx, ecx
jne 0x432dc0
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 0x10
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
movzx eax, al
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x47fa40]
jmp 0x432e65
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x432e3f
sub eax, 1
je 0x432e1d
sub eax, 1
je 0x432dfb
sub eax, 1
jne 0x432e5e
mov eax, dword [edi + 0x1024]
mov ecx, edx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
movzx ecx, dx
shr ecx, 8
movzx eax, al
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
and dword [edi + 0x1028], 0
movzx eax, dx
mov word [edi + 0x1020], ax
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + eax*4 + 0x1c]
inc eax
push ecx
mov dword [edi + 0x14], eax
call fcn.0044d5b3
mov edx, eax
mov eax, dword [esp + 0x18]
pop ecx
mov dword [esp + 0x10], eax
mov dword [edi + 0x1024], edx
jmp 0x432ec4
mov ecx, edi
call fcn.0042c2f5
test eax, eax
je 0x433fa3
mov ecx, dword [edi + 0x18]
push 0x20
pop eax
sub eax, ecx
cmp dword [esp + 0x14], eax
ja 0x433fa3
mov eax, dword [esp + 0x14]
add ecx, eax
mov edx, dword [edi + 0x101c]
mov dword [esp + 0x10], ecx
push 0x20
pop ecx
sub ecx, eax
mov eax, edx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edx, cl
or dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
cmp dword [0x5192d4], 0
mov dword [edi + 0x101c], edx
mov dword [edi + 0x18], eax
je 0x432ef3
lzcnt ecx, edx
jmp 0x432f08
test edx, edx
jne 0x432efc
push 0x20
pop ecx
jmp 0x432f08
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
mov eax, dword [esp + 0x10]
cmp ecx, 0x20
jae 0x432f16
mov dword [esp + 0x30], ecx
jmp 0x4330d3
push 0x20
pop ecx
sub ecx, eax
mov dword [esp + 0x30], ecx
cmp dword [edi + 0x14], 0x400
jae 0x43308a
mov ecx, dword [edi + 0x1028]
mov eax, dword [edi + 0x1024]
movzx edx, word [edi + 0x1020]
test ecx, ecx
jne 0x432fbd
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 0x10
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
movzx eax, al
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x47fa40]
jmp 0x433062
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x43303c
sub eax, 1
je 0x43301a
sub eax, 1
je 0x432ff8
sub eax, 1
jne 0x43305b
mov eax, dword [edi + 0x1024]
mov ecx, edx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
movzx ecx, dx
shr ecx, 8
movzx eax, al
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
and dword [edi + 0x1028], 0
movzx eax, dx
mov word [edi + 0x1020], ax
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + eax*4 + 0x1c]
inc eax
push ecx
mov dword [edi + 0x14], eax
call fcn.0044d5b3
pop ecx
mov edx, eax
xor ecx, ecx
mov dword [edi + 0x1024], edx
jmp 0x4330a2
mov ecx, edi
call fcn.0042c2f5
test eax, eax
je 0x433fa3
mov edx, dword [edi + 0x101c]
mov ecx, dword [edi + 0x18]
cmp dword [0x5192d4], 0
mov dword [esp + 0x10], ecx
je 0x4330b5
lzcnt ecx, edx
jmp 0x4330c6
test edx, edx
jne 0x4330be
push 0x20
pop ecx
jmp 0x4330c6
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x30], ecx
cmp ecx, 0x20
jae 0x432f1f
mov eax, dword [esp + 0x10]
shl edx, cl
add eax, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
shr dword [esp + 0x28], cl
cmp eax, ecx
ja 0x4330f8
mov ecx, dword [esp + 0x34]
shl edx, cl
add eax, ecx
jmp 0x4332c3
sub eax, dword [esp + 0x24]
cmp dword [edi + 0x14], 0x400
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], eax
jae 0x433275
mov ecx, dword [edi + 0x1028]
mov eax, dword [edi + 0x1024]
movzx edx, word [edi + 0x1020]
test ecx, ecx
jne 0x4331a6
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 0x10
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
movzx eax, al
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x47fa40]
jmp 0x43324b
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x433225
sub eax, 1
je 0x433203
sub eax, 1
je 0x4331e1
sub eax, 1
jne 0x433244
mov eax, dword [edi + 0x1024]
mov ecx, edx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
movzx ecx, dx
shr ecx, 8
movzx eax, al
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
and dword [edi + 0x1028], 0
movzx eax, dx
mov word [edi + 0x1020], ax
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + eax*4 + 0x1c]
inc eax
push ecx
mov dword [edi + 0x14], eax
call fcn.0044d5b3
mov edx, eax
mov eax, dword [esp + 0x18]
pop ecx
mov dword [edi + 0x1024], edx
jmp 0x4332a2
mov ecx, edi
call fcn.0042c2f5
test eax, eax
je 0x433fa3
mov ecx, dword [edi + 0x18]
push 0x20
pop eax
sub eax, ecx
cmp dword [esp + 0x14], eax
ja 0x433fa3
mov eax, dword [esp + 0x14]
mov edx, dword [edi + 0x101c]
add eax, ecx
push 0x20
pop ecx
sub ecx, dword [esp + 0x14]
mov dword [esp + 0x28], edx
shr dword [esp + 0x28], cl
mov ecx, dword [esp + 0x14]
shl edx, cl
mov ecx, dword [esp + 0x28]
or ecx, dword [esp + 0x38]
mov dword [esp + 0x28], ecx
cmp dword [0x5192d4], 0
mov dword [esp + 0x10], eax
mov dword [edi + 0x101c], edx
mov dword [edi + 0x18], eax
je 0x4332df
lzcnt ecx, edx
jmp 0x4332f4
test edx, edx
jne 0x4332e8
push 0x20
pop ecx
jmp 0x4332f4
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
mov eax, dword [esp + 0x10]
cmp ecx, 0x20
jae 0x433302
mov dword [esp + 0x38], ecx
jmp 0x4334bf
push 0x20
pop ecx
sub ecx, eax
mov dword [esp + 0x38], ecx
cmp dword [edi + 0x14], 0x400
jae 0x433476
mov ecx, dword [edi + 0x1028]
mov eax, dword [edi + 0x1024]
movzx edx, word [edi + 0x1020]
test ecx, ecx
jne 0x4333a9
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 0x10
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
movzx eax, al
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x47fa40]
jmp 0x43344e
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x433428
sub eax, 1
je 0x433406
sub eax, 1
je 0x4333e4
sub eax, 1
jne 0x433447
mov eax, dword [edi + 0x1024]
mov ecx, edx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
movzx ecx, dx
shr ecx, 8
movzx eax, al
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
and dword [edi + 0x1028], 0
movzx eax, dx
mov word [edi + 0x1020], ax
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + eax*4 + 0x1c]
inc eax
push ecx
mov dword [edi + 0x14], eax
call fcn.0044d5b3
pop ecx
mov edx, eax
xor ecx, ecx
mov dword [edi + 0x1024], edx
jmp 0x43348e
mov ecx, edi
call fcn.0042c2f5
test eax, eax
je 0x433fa3
mov edx, dword [edi + 0x101c]
mov ecx, dword [edi + 0x18]
cmp dword [0x5192d4], 0
mov dword [esp + 0x10], ecx
je 0x4334a1
lzcnt ecx, edx
jmp 0x4334b2
test edx, edx
jne 0x4334aa
push 0x20
pop ecx
jmp 0x4334b2
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x38], ecx
cmp ecx, 0x20
jae 0x43330b
mov eax, dword [esp + 0x10]
shl edx, cl
add eax, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x14], edx
shr dword [esp + 0x14], cl
cmp eax, ecx
ja 0x4334e8
mov ecx, dword [esp + 0x34]
shl edx, cl
add eax, ecx
mov ecx, dword [esp + 0x14]
jmp 0x4336b3
sub eax, dword [esp + 0x24]
cmp dword [edi + 0x14], 0x400
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x3c], eax
jae 0x433669
mov ecx, dword [edi + 0x1028]
mov eax, dword [edi + 0x1024]
movzx edx, word [edi + 0x1020]
test ecx, ecx
jne 0x433596
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 0x10
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
movzx eax, al
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x47fa40]
jmp 0x43363b
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x433615
sub eax, 1
je 0x4335f3
sub eax, 1
je 0x4335d1
sub eax, 1
jne 0x433634
mov eax, dword [edi + 0x1024]
mov ecx, edx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
movzx ecx, dx
shr ecx, 8
movzx eax, al
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
and dword [edi + 0x1028], 0
movzx eax, dx
mov word [edi + 0x1020], ax
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + eax*4 + 0x1c]
inc eax
push ecx
mov dword [edi + 0x14], eax
call fcn.0044d5b3
mov edx, eax
mov eax, dword [esp + 0x40]
pop ecx
mov dword [esp + 0x10], eax
mov dword [edi + 0x1024], edx
jmp 0x43369a
mov ecx, edi
call fcn.0042c2f5
test eax, eax
je 0x433fa3
mov ecx, dword [edi + 0x18]
push 0x20
pop eax
sub eax, ecx
cmp dword [esp + 0x3c], eax
ja 0x433fa3
mov eax, dword [esp + 0x3c]
add ecx, eax
mov edx, dword [edi + 0x101c]
mov dword [esp + 0x10], ecx
push 0x20
pop ecx
sub ecx, eax
mov eax, edx
shr eax, cl
mov ecx, dword [esp + 0x3c]
shl edx, cl
mov ecx, dword [esp + 0x14]
or ecx, eax
mov eax, dword [esp + 0x10]
movd xmm2, dword [esp + 0x38]
movd xmm0, dword [esp + 0x30]
movd xmm1, dword [esp + 0x1c]
movd xmm4, dword [esp + 0x20]
movd xmm3, dword [esp + 0x2c]
movaps xmm5, xmmword [0x4f2970]
movaps xmm6, xmmword [esp + 0x50]
movaps xmm7, xmmword [esp + 0x80]
punpckldq xmm4, xmm0
movd xmm0, dword [esp + 0x48]
punpckldq xmm1, xmm2
punpckldq xmm4, xmm1
movd xmm1, dword [esp + 0x18]
pslld xmm4, xmm0
movd xmm0, dword [esp + 0x28]
movd xmm2, ecx
mov ecx, dword [ebp + 0xc]
punpckldq xmm3, xmm0
dec ecx
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
pand xmm3, xmmword [esp + 0xd0]
por xmm4, xmm3
mov dword [edi + 0x101c], edx
pand xmm5, xmm4
mov dword [edi + 0x18], eax
pxor xmm5, xmmword [0x4f2a50]
paddd xmm5, xmmword [0x4f2970]
psrld xmm4, 1
push 4
pxor xmm5, xmm4
movaps xmm4, xmmword [esp + 0x64]
pop edx
xorps xmm3, xmm3
cmp ecx, 0xb
ja case.default.0x433769
movzx eax, byte [ecx + 0x433fc2]
jmp dword [eax*4 + 0x433faa]
movaps xmm1, xmmword [esp + 0x90]
pshufd xmm0, xmm7, 0x50
pshufd xmm3, xmm1, 0x50
pmuldq xmm3, xmm0
jmp 0x433791
movaps xmm1, xmmword [esp + 0x90]
pshufd xmm0, xmm7, 0xfa
pshufd xmm1, xmm1, 0xfa
pmuldq xmm1, xmm0
paddq xmm3, xmm1
pshufd xmm1, xmmword [esp + 0xc0], 0x50
pshufd xmm0, xmm4, 0x50
pmuldq xmm1, xmm0
paddq xmm3, xmm1
pshufd xmm1, xmmword [esp + 0xc0], 0xfa
pshufd xmm0, xmm4, 0xfa
pmuldq xmm1, xmm0
paddq xmm3, xmm1
pshufd xmm1, xmmword [esp + 0xb0], 0x50
pshufd xmm0, xmm6, 0x50
pmuldq xmm1, xmm0
paddq xmm3, xmm1
pshufd xmm1, xmmword [esp + 0xb0], 0xfa
pshufd xmm0, xmm6, 0xfa
pmuldq xmm1, xmm0
paddq xmm3, xmm1
pshufd xmm2, xmm3, 0x4e
movaps xmm0, xmm4
palignr xmm0, xmm7, 4
paddq xmm2, xmm3
movaps xmm7, xmm0
movaps xmm0, xmm6
palignr xmm0, xmm4, 4
movaps xmm1, xmm2
movaps xmm4, xmm0
movd xmm0, dword [ebp + 0x10]
psrad xmm1, xmm0
movd xmm0, dword [ebp + 0x10]
pand xmm1, xmmword [0x4f2a40]
psrlq xmm2, xmm0
xorps xmm0, xmm0
palignr xmm0, xmm5, 4
por xmm1, xmm2
paddd xmm1, xmm5
movaps xmm5, xmm0
palignr xmm1, xmm6, 4
movaps xmm6, xmm1
sub edx, 1
jne 0x433756
movups xmmword [esi], xmm6
add esi, 0x10
movaps xmmword [esp + 0x80], xmm7
movaps xmmword [esp + 0x60], xmm4
movaps xmmword [esp + 0x50], xmm6
mov dword [ebp + 0x18], esi
cmp esi, dword [esp + 0x40]
jb 0x4326f3
mov eax, dword [esp + 0x74]
cmp dword [esp + 0x4c], eax
jge 0x433f9a
cmp dword [0x5192d4], 0
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x101c]
mov dword [esp + 0x10], eax
je 0x4338b7
lzcnt ecx, edx
jmp 0x4338cc
test edx, edx
jne 0x4338c0
push 0x20
pop ecx
jmp 0x4338cc
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
mov eax, dword [esp + 0x10]
cmp ecx, 0x20
jae 0x4338da
mov dword [esp + 0x1c], ecx
jmp 0x433a9a
push 0x20
pop ecx
sub ecx, eax
mov dword [esp + 0x1c], ecx
cmp dword [edi + 0x14], 0x400
jae 0x433a51
mov ecx, dword [edi + 0x1028]
mov eax, dword [edi + 0x1024]
movzx edx, word [edi + 0x1020]
test ecx, ecx
jne 0x433981
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 0x10
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
movzx eax, al
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x47fa40]
jmp 0x433a26
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x433a00
sub eax, 1
je 0x4339de
sub eax, 1
je 0x4339bc
sub eax, 1
jne 0x433a1f
mov eax, dword [edi + 0x1024]
mov ecx, edx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
movzx ecx, dx
shr ecx, 8
movzx eax, al
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
and dword [edi + 0x1028], 0
movzx eax, dx
mov word [edi + 0x1020], ax
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + eax*4 + 0x1c]
inc eax
push ecx
mov dword [edi + 0x14], eax
call fcn.0044d5b3
and dword [esp + 0x14], 0
mov edx, eax
pop ecx
mov dword [edi + 0x1024], edx
jmp 0x433a6d
mov ecx, edi
call fcn.0042c2f5
test eax, eax
je 0x433fa3
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x101c]
mov dword [esp + 0x10], ecx
cmp dword [0x5192d4], 0
je 0x433a7c
lzcnt ecx, edx
jmp 0x433a8d
test edx, edx
jne 0x433a85
push 0x20
pop ecx
jmp 0x433a8d
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x1c], ecx
cmp ecx, 0x20
jae 0x4338e3
add dword [esp + 0x10], ecx
shl edx, cl
mov ecx, dword [esp + 0x24]
mov eax, edx
shr eax, cl
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x24]
ja 0x433ac5
mov ecx, dword [esp + 0x34]
shl edx, cl
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x34]
jmp 0x433c8b
sub ecx, dword [esp + 0x24]
cmp dword [edi + 0x14], 0x400
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], ecx
jae 0x433c42
mov ecx, dword [edi + 0x1028]
mov eax, dword [edi + 0x1024]
movzx edx, word [edi + 0x1020]
test ecx, ecx
jne 0x433b6f
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 0x10
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
shr eax, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, dword [edi + 0x1024]
movzx eax, al
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x47fa40]
jmp 0x433c14
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x433bee
sub eax, 1
je 0x433bcc
sub eax, 1
je 0x433baa
sub eax, 1
jne 0x433c0d
mov eax, dword [edi + 0x1024]
mov ecx, edx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
mov eax, dword [edi + 0x1024]
movzx ecx, dx
shr ecx, 8
movzx eax, al
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x47fa40]
movzx edx, dx
and dword [edi + 0x1028], 0
movzx eax, dx
mov word [edi + 0x1020], ax
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + eax*4 + 0x1c]
inc eax
push ecx
mov dword [edi + 0x14], eax
call fcn.0044d5b3
mov edx, eax
mov eax, dword [esp + 0x24]
pop ecx
mov dword [esp + 0x10], eax
mov dword [edi + 0x1024], edx
jmp 0x433c74
mov ecx, edi
call fcn.0042c2f5
test eax, eax
je 0x433fa3
mov ecx, dword [esp + 0x20]
push 0x20
pop eax
sub eax, dword [edi + 0x18]
cmp ecx, eax
ja 0x433fa3
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x101c]
add eax, ecx
mov dword [esp + 0x10], eax
mov eax, ecx
push 0x20
pop ecx
sub ecx, eax
mov eax, edx
shr eax, cl
mov ecx, dword [esp + 0x20]
shl edx, cl
or eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
and eax, dword [esp + 0x78]
mov dword [edi + 0x18], ecx
mov ecx, dword [esp + 0x48]
mov dword [edi + 0x101c], edx
mov edx, dword [esp + 0x1c]
shl edx, cl
or eax, edx
mov dword [esp + 0x20], eax
and eax, 1
mov ecx, dword [esp + 0x20]
shr ecx, 1
xor ecx, dword [esp + eax*4 + 0xa8]
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp + 0xc]
cmp ecx, 8
jne 0x433cd6
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x1c]
imul dword [esi - 0x20]
mov ecx, eax
mov esi, edx
jmp 0x433eaa
cmp ecx, 7
jne 0x433ced
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x18]
imul dword [esi - 0x1c]
mov ecx, eax
mov esi, edx
jmp 0x433eba
cmp ecx, 3
jne 0x433d04
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 8]
imul dword [esi - 0xc]
mov ecx, eax
mov esi, edx
jmp 0x433efa
cmp ecx, 6
jne 0x433d1b
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x14]
imul dword [esi - 0x18]
mov ecx, eax
mov esi, edx
jmp 0x433eca
cmp ecx, 5
jne 0x433d32
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x10]
imul dword [esi - 0x14]
mov ecx, eax
mov esi, edx
jmp 0x433eda
cmp ecx, 4
jne 0x433d49
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0xc]
imul dword [esi - 0x10]
mov ecx, eax
mov esi, edx
jmp 0x433eea
cmp ecx, 0xc
jne 0x433e0f
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x2c]
imul dword [esi - 0x30]
mov ecx, eax
mov esi, edx
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 0x24]
imul dword [edx - 0x28]
add ecx, eax
mov eax, dword [ebp + 0x14]
adc esi, edx
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 0x20]
imul dword [edx - 0x24]
add ecx, eax
mov eax, dword [ebp + 0x14]
adc esi, edx
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 0x1c]
imul dword [edx - 0x20]
add ecx, eax
mov eax, dword [ebp + 0x14]
adc esi, edx
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 0x18]
imul dword [edx - 0x1c]
add ecx, eax
mov eax, dword [ebp + 0x14]
adc esi, edx
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 0x14]
imul dword [edx - 0x18]
add ecx, eax
mov eax, dword [ebp + 0x14]
adc esi, edx
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 0x10]
imul dword [edx - 0x14]
add ecx, eax
mov eax, dword [ebp + 0x14]
adc esi, edx
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 0xc]
imul dword [edx - 0x10]
add ecx, eax
mov eax, dword [ebp + 0x14]
adc esi, edx
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 8]
imul dword [edx - 0xc]
add ecx, eax
mov eax, dword [ebp + 0x14]
adc esi, edx
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 4]
imul dword [edx - 8]
add ecx, eax
mov eax, dword [ebp + 0x14]
adc esi, edx
mov edx, dword [ebp + 0x18]
mov eax, dword [eax]
imul dword [edx - 4]
add ecx, eax
mov eax, dword [ebp + 0x14]
adc esi, edx
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 0x28]
imul dword [edx - 0x2c]
jmp 0x433f15
cmp ecx, 2
jne 0x433e26
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
imul dword [esi - 8]
mov ecx, eax
mov esi, edx
jmp 0x433f0a
cmp ecx, 1
jne 0x433e3c
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
imul dword [esi - 4]
mov ecx, eax
mov esi, edx
jmp 0x433f6c
cmp ecx, 0xa
jne 0x433e50
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x24]
imul dword [esi - 0x28]
mov ecx, eax
mov esi, edx
jmp 0x433e8a
cmp ecx, 9
jne 0x433e64
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x20]
imul dword [esi - 0x24]
mov ecx, eax
mov esi, edx
jmp 0x433e9a
cmp ecx, 0xb
jne 0x433f1b
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x28]
imul dword [esi - 0x2c]
mov ecx, eax
mov esi, edx
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 0x24]
imul dword [edx - 0x28]
add ecx, eax
adc esi, edx
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 0x20]
imul dword [edx - 0x24]
add ecx, eax
adc esi, edx
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 0x1c]
imul dword [edx - 0x20]
add ecx, eax
adc esi, edx
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 0x18]
imul dword [edx - 0x1c]
add ecx, eax
adc esi, edx
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 0x14]
imul dword [edx - 0x18]
add ecx, eax
adc esi, edx
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 0x10]
imul dword [edx - 0x14]
add ecx, eax
adc esi, edx
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 0xc]
imul dword [edx - 0x10]
add ecx, eax
adc esi, edx
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 8]
imul dword [edx - 0xc]
add ecx, eax
adc esi, edx
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 4]
imul dword [edx - 8]
add ecx, eax
adc esi, edx
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov eax, dword [eax]
imul dword [edx - 4]
add ecx, eax
adc esi, edx
jmp 0x433f6c
xorps xmm0, xmm0
xor eax, eax
movlpd qword [esp + 0x40], xmm0
test ecx, ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
jle 0x433f68
mov edi, dword [ebp + 0x14]
lea edx, [esi - 4]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x30], edx
mov eax, dword [edi + eax*4]
imul dword [edx]
add ecx, eax
mov eax, dword [esp + 0x1c]
adc esi, edx
mov edx, dword [esp + 0x30]
inc eax
sub edx, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], edx
cmp eax, dword [ebp + 0xc]
jl 0x433f40
mov edi, dword [esp + 0x7c]
jmp 0x433f6c
mov esi, dword [esp + 0x44]
mov eax, ecx
mov edx, esi
mov ecx, dword [ebp + 0x10]
call fcn.004604f0
mov esi, dword [ebp + 0x18]
add eax, dword [esp + 0x20]
mov dword [esi], eax
add esi, 4
mov eax, dword [esp + 0x4c]
inc eax
mov dword [ebp + 0x18], esi
mov dword [esp + 0x4c], eax
cmp eax, dword [esp + 0x74]
jl 0x43389b
xor eax, eax
inc eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor eax, eax
jmp 0x433f9d