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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xd8
and dword [esp + 0xa0], 0
mov eax, edx
push esi
mov dword [esp + 0x68], eax
mov esi, ecx
movzx ecx, byte [ebp + 8]
and eax, 0xfffffffc
push edi
mov edi, dword [ebp + 0x18]
xorps xmm1, xmm1
mov dword [esp + 0x44], eax
xorps xmm3, xmm3
mov dword [esp + 0x1c], ecx
xorps xmm4, xmm4
mov dword [esp + 0x88], esi
xorps xmm5, xmm5
lea edx, [edi + eax*4]
movaps xmmword [esp + 0x50], xmm1
or eax, 0xffffffff
mov dword [esp + 0x4c], edx
mov dword [esp + 0xac], eax
shl eax, cl
mov ecx, dword [ebp + 0xc]
not eax
mov dword [esp + 0x8c], eax
movaps xmmword [esp + 0x70], xmm1
movd xmm0, eax
pshufd xmm0, xmm0, 0
movaps xmmword [esp + 0xc0], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x30], xmm0
cmp ecx, 4
jl 0x430a17
mov eax, dword [ebp + 0x14]
add ecx, 0xfffffffc
movups xmm0, xmmword [edi - 0x10]
movaps xmmword [esp + 0x30], xmm0
movaps xmm7, xmm0
movups xmm3, xmmword [eax]
movaps xmm6, xmm3
cmp ecx, 4
jl 0x43093f
movups xmm1, xmmword [edi - 0x20]
add ecx, 0xfffffffc
movups xmm4, xmmword [eax + 0x10]
movaps xmmword [esp + 0x50], xmm1
movaps xmm0, xmm1
movaps xmm2, xmm4
movups xmmword [esp + 0xb0], xmm2
movups xmmword [esp + 0x90], xmm0
cmp ecx, 4
jne 0x43083a
movups xmm0, xmmword [edi - 0x30]
movups xmm5, xmmword [eax + 0x20]
movaps xmmword [esp + 0x70], xmm0
jmp 0x430ada
movaps xmmword [esp + 0x50], xmm0
movaps xmm0, xmm7
movaps xmmword [esp + 0x30], xmm0
movaps xmm4, xmm2
movaps xmm3, xmm6
sub ecx, 1
je 0x43090c
sub ecx, 1
je 0x4308d8
sub ecx, 1
jne 0x430ada
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 [edi - 0x24]
punpckldq xmm5, xmm0
movd xmm0, dword [edi - 0x2c]
punpcklqdq xmm5, xmm2
movd xmm2, dword [edi - 0x28]
movd xmm3, eax
movaps xmmword [esp + 0x70], xmm3
punpckldq xmm2, xmm1
movaps xmm1, xmmword [esp + 0x70]
punpckldq xmm1, xmm0
punpcklqdq xmm1, xmm2
movaps xmmword [esp + 0x70], xmm1
movaps xmm0, xmmword [esp + 0x90]
movaps xmmword [esp + 0x50], xmm0
movaps xmm3, xmm6
movaps xmm0, xmm7
movaps xmmword [esp + 0x30], xmm0
jmp 0x430ada
movd xmm1, dword [eax + 0x24]
xorps xmm0, xmm0
movd xmm5, dword [eax + 0x20]
punpckldq xmm5, xmm1
movd xmm1, dword [edi - 0x28]
punpcklqdq xmm5, xmm0
movd xmm0, dword [edi - 0x24]
punpckldq xmm1, xmm0
xorps xmm0, xmm0
punpcklqdq xmm0, xmm1
movaps xmmword [esp + 0x70], xmm0
movaps xmm4, xmm2
jmp 0x4308bb
movd xmm5, dword [eax + 0x20]
xor ecx, ecx
xor eax, eax
xorps xmm3, xmm3
movd xmm0, ecx
punpckldq xmm5, xmm0
xorps xmm0, xmm0
punpckldq xmm5, xmm0
movd xmm0, dword [edi - 0x24]
movd xmm1, eax
punpckldq xmm1, xmm0
punpckldq xmm3, xmm1
movaps xmmword [esp + 0x70], xmm3
jmp 0x430907
movaps xmm0, xmm7
movaps xmm3, xmm6
movaps xmmword [esp + 0x30], xmm0
sub ecx, 1
je 0x4309e1
sub ecx, 1
je 0x4309b5
sub ecx, 1
jne 0x430ada
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 [edi - 0x14]
punpckldq xmm4, xmm0
movd xmm0, dword [edi - 0x1c]
punpcklqdq xmm4, xmm2
movd xmm2, dword [edi - 0x18]
movd xmm3, eax
movaps xmmword [esp + 0x50], xmm3
punpckldq xmm2, xmm1
movaps xmm1, xmmword [esp + 0x50]
punpckldq xmm1, xmm0
punpcklqdq xmm1, xmm2
movaps xmmword [esp + 0x50], xmm1
jmp 0x4308c8
movd xmm1, dword [eax + 0x14]
xorps xmm0, xmm0
movd xmm4, dword [eax + 0x10]
xorps xmm2, xmm2
punpckldq xmm4, xmm1
movd xmm1, dword [edi - 0x18]
punpcklqdq xmm4, xmm0
movd xmm0, dword [edi - 0x14]
punpckldq xmm1, xmm0
punpcklqdq xmm2, xmm1
jmp 0x430a0d
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 [edi - 0x14]
movd xmm1, eax
punpckldq xmm1, xmm0
punpckldq xmm2, xmm1
movaps xmmword [esp + 0x50], xmm2
jmp 0x4308c8
mov eax, ecx
sub eax, 1
je 0x430aa7
sub eax, 1
je 0x430a79
sub eax, 1
jne 0x430ada
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 [edi - 4]
punpckldq xmm3, xmm0
movd xmm0, dword [edi - 0xc]
punpcklqdq xmm3, xmm2
movd xmm2, dword [edi - 8]
movd xmm6, eax
punpckldq xmm2, xmm1
punpckldq xmm6, xmm0
punpcklqdq xmm6, xmm2
movaps xmmword [esp + 0x30], xmm6
jmp 0x430ada
mov eax, dword [ebp + 0x14]
movd xmm1, dword [eax + 4]
movd xmm3, dword [eax]
punpckldq xmm3, xmm1
movd xmm1, dword [edi - 8]
punpcklqdq xmm3, xmm0
movd xmm0, dword [edi - 4]
punpckldq xmm1, xmm0
xorps xmm0, xmm0
punpcklqdq xmm0, xmm1
jmp 0x4308ce
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 [edi - 4]
movd xmm1, eax
punpckldq xmm1, xmm0
punpckldq xmm2, xmm1
movaps xmmword [esp + 0x30], xmm2
mov ecx, dword [esp + 0x1c]
pshufd xmm0, xmm3, 0x1b
inc ecx
movaps xmmword [esp + 0x90], xmm0
pshufd xmm0, xmm4, 0x1b
push 0x20
pop eax
movaps xmmword [esp + 0xb0], xmm0
sub eax, ecx
pshufd xmm0, xmm5, 0x1b
movaps xmmword [esp + 0xd0], xmm0
mov dword [esp + 0x20], eax
cmp edi, edx
jae 0x431c56
cmp dword [0x5192d4], 0
mov edx, dword [esi + 0x101c]
mov edi, dword [esi + 0x18]
je 0x430b2f
lzcnt ecx, edx
jmp 0x430b40
test edx, edx
jne 0x430b38
push 0x20
pop ecx
jmp 0x430b40
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
cmp ecx, 0x20
jae 0x430b4e
mov dword [esp + 0xc], ecx
jmp 0x430d05
push 0x20
pop eax
sub eax, edi
mov dword [esp + 0xc], eax
mov edi, dword [esi + 0x14]
cmp edi, 0x400
jae 0x430cc0
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x430bf4
mov edi, dword [esi + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, edi
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, edi
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, edi
mov edi, dword [esi + 0x14]
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 0x430c99
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x430c73
sub eax, 1
je 0x430c51
sub eax, 1
je 0x430c2f
sub eax, 1
jne 0x430c92
mov eax, dword [esi + 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 [esi + 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 [esi + 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 [esi + 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 [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
lea eax, [edi + 1]
mov ecx, dword [esi + edi*4 + 0x1c]
push ecx
mov dword [esi + 0x14], eax
call fcn.0044d5b3
mov edx, eax
xor edi, edi
pop ecx
mov dword [esi + 0x1024], edx
jmp 0x430cd8
mov ecx, esi
call fcn.0042c2f5
test eax, eax
je 0x432290
mov edx, dword [esi + 0x101c]
mov edi, dword [esi + 0x18]
cmp dword [0x5192d4], 0
je 0x430ce7
lzcnt ecx, edx
jmp 0x430cf8
test edx, edx
jne 0x430cf0
push 0x20
pop ecx
jmp 0x430cf8
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0xc], ecx
cmp ecx, 0x20
jae 0x430b57
shl edx, cl
add edi, ecx
mov ecx, dword [esp + 0x20]
mov eax, edx
shr eax, cl
mov dword [esp + 0x10], eax
cmp edi, ecx
ja 0x430d29
mov eax, dword [esp + 0x1c]
inc eax
mov ecx, eax
shl edx, cl
add edi, eax
jmp 0x430ee2
sub edi, ecx
mov dword [esp + 0x18], eax
cmp dword [esi + 0x14], 0x400
mov dword [esp + 0x24], edi
jae 0x430e9a
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x430dcf
mov edi, dword [esi + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, edi
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, edi
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, edi
mov edi, dword [esp + 0x24]
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 0x430e74
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x430e4e
sub eax, 1
je 0x430e2c
sub eax, 1
je 0x430e0a
sub eax, 1
jne 0x430e6d
mov eax, dword [esi + 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 [esi + 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 [esi + 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 [esi + 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 [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + eax*4 + 0x1c]
inc eax
push ecx
mov dword [esi + 0x14], eax
call fcn.0044d5b3
mov edx, eax
pop ecx
mov dword [esi + 0x1024], edx
jmp 0x430ec1
mov ecx, esi
call fcn.0042c2f5
test eax, eax
je 0x432290
mov ecx, dword [esi + 0x18]
push 0x20
pop eax
sub eax, ecx
cmp edi, eax
ja 0x432290
mov edx, dword [esi + 0x101c]
add edi, ecx
push 0x20
pop ecx
sub ecx, dword [esp + 0x24]
mov dword [esp + 0x10], edx
shr dword [esp + 0x10], cl
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
shl edx, cl
or eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
cmp dword [0x5192d4], 0
mov dword [esi + 0x101c], edx
mov dword [esi + 0x18], edi
je 0x430efa
lzcnt ecx, edx
jmp 0x430f0b
test edx, edx
jne 0x430f03
push 0x20
pop ecx
jmp 0x430f0b
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
cmp ecx, 0x20
jae 0x430f19
mov dword [esp + 0x24], ecx
jmp 0x4310d0
push 0x20
pop eax
sub eax, edi
mov dword [esp + 0x24], eax
mov edi, dword [esi + 0x14]
cmp edi, 0x400
jae 0x43108b
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x430fbf
mov edi, dword [esi + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, edi
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, edi
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, edi
mov edi, dword [esi + 0x14]
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 0x431064
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x43103e
sub eax, 1
je 0x43101c
sub eax, 1
je 0x430ffa
sub eax, 1
jne 0x43105d
mov eax, dword [esi + 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 [esi + 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 [esi + 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 [esi + 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 [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
lea eax, [edi + 1]
mov ecx, dword [esi + edi*4 + 0x1c]
push ecx
mov dword [esi + 0x14], eax
call fcn.0044d5b3
mov edx, eax
xor edi, edi
pop ecx
mov dword [esi + 0x1024], edx
jmp 0x4310a3
mov ecx, esi
call fcn.0042c2f5
test eax, eax
je 0x432290
mov edx, dword [esi + 0x101c]
mov edi, dword [esi + 0x18]
cmp dword [0x5192d4], 0
je 0x4310b2
lzcnt ecx, edx
jmp 0x4310c3
test edx, edx
jne 0x4310bb
push 0x20
pop ecx
jmp 0x4310c3
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x24], ecx
cmp ecx, 0x20
jae 0x430f22
shl edx, cl
add edi, ecx
mov ecx, dword [esp + 0x20]
mov eax, edx
shr eax, cl
mov dword [esp + 0x28], eax
cmp edi, ecx
ja 0x4310f4
mov eax, dword [esp + 0x1c]
inc eax
mov ecx, eax
shl edx, cl
add edi, eax
jmp 0x4312b5
sub edi, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edi
mov edi, dword [esi + 0x14]
cmp edi, 0x400
jae 0x43126b
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x43119b
mov edi, dword [esi + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, edi
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, edi
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, edi
mov edi, dword [esi + 0x14]
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 0x431240
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x43121a
sub eax, 1
je 0x4311f8
sub eax, 1
je 0x4311d6
sub eax, 1
jne 0x431239
mov eax, dword [esi + 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 [esi + 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 [esi + 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 [esi + 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 [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
lea eax, [edi + 1]
mov ecx, dword [esi + edi*4 + 0x1c]
push ecx
mov dword [esi + 0x14], eax
call fcn.0044d5b3
mov edx, eax
mov eax, dword [esp + 0x1c]
pop ecx
mov edi, eax
mov dword [esi + 0x1024], edx
jmp 0x431298
mov ecx, esi
call fcn.0042c2f5
test eax, eax
je 0x432290
mov edi, dword [esi + 0x18]
push 0x20
pop eax
sub eax, edi
cmp dword [esp + 0x18], eax
ja 0x432290
mov eax, dword [esp + 0x18]
add edi, eax
mov edx, dword [esi + 0x101c]
push 0x20
pop ecx
sub ecx, eax
mov dword [esp + 0x28], edx
shr dword [esp + 0x28], cl
mov ecx, eax
mov eax, dword [esp + 0x28]
shl edx, cl
or eax, dword [esp + 0x14]
mov dword [esp + 0x28], eax
cmp dword [0x5192d4], 0
mov dword [esi + 0x101c], edx
mov dword [esi + 0x18], edi
je 0x4312cd
lzcnt ecx, edx
jmp 0x4312de
test edx, edx
jne 0x4312d6
push 0x20
pop ecx
jmp 0x4312de
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
cmp ecx, 0x20
jae 0x4312ec
mov dword [esp + 0x18], ecx
jmp 0x4314a3
push 0x20
pop eax
sub eax, edi
mov dword [esp + 0x18], eax
mov edi, dword [esi + 0x14]
cmp edi, 0x400
jae 0x43145e
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x431392
mov edi, dword [esi + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, edi
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, edi
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, edi
mov edi, dword [esi + 0x14]
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 0x431437
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x431411
sub eax, 1
je 0x4313ef
sub eax, 1
je 0x4313cd
sub eax, 1
jne 0x431430
mov eax, dword [esi + 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 [esi + 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 [esi + 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 [esi + 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 [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
lea eax, [edi + 1]
mov ecx, dword [esi + edi*4 + 0x1c]
push ecx
mov dword [esi + 0x14], eax
call fcn.0044d5b3
mov edx, eax
xor edi, edi
pop ecx
mov dword [esi + 0x1024], edx
jmp 0x431476
mov ecx, esi
call fcn.0042c2f5
test eax, eax
je 0x432290
mov edx, dword [esi + 0x101c]
mov edi, dword [esi + 0x18]
cmp dword [0x5192d4], 0
je 0x431485
lzcnt ecx, edx
jmp 0x431496
test edx, edx
jne 0x43148e
push 0x20
pop ecx
jmp 0x431496
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x18], ecx
cmp ecx, 0x20
jae 0x4312f5
shl edx, cl
add edi, ecx
mov ecx, dword [esp + 0x20]
mov eax, edx
shr eax, cl
mov dword [esp + 8], eax
cmp edi, ecx
ja 0x4314c7
mov eax, dword [esp + 0x1c]
inc eax
mov ecx, eax
shl edx, cl
add edi, eax
jmp 0x431688
sub edi, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], edi
mov edi, dword [esi + 0x14]
cmp edi, 0x400
jae 0x43163e
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x43156e
mov edi, dword [esi + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, edi
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, edi
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, edi
mov edi, dword [esi + 0x14]
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 0x431613
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x4315ed
sub eax, 1
je 0x4315cb
sub eax, 1
je 0x4315a9
sub eax, 1
jne 0x43160c
mov eax, dword [esi + 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 [esi + 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 [esi + 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 [esi + 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 [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
lea eax, [edi + 1]
mov ecx, dword [esi + edi*4 + 0x1c]
push ecx
mov dword [esi + 0x14], eax
call fcn.0044d5b3
mov edx, eax
mov eax, dword [esp + 0x18]
pop ecx
mov edi, eax
mov dword [esi + 0x1024], edx
jmp 0x43166b
mov ecx, esi
call fcn.0042c2f5
test eax, eax
je 0x432290
mov edi, dword [esi + 0x18]
push 0x20
pop eax
sub eax, edi
cmp dword [esp + 0x14], eax
ja 0x432290
mov eax, dword [esp + 0x14]
add edi, eax
mov edx, dword [esi + 0x101c]
push 0x20
pop ecx
sub ecx, eax
mov dword [esp + 8], edx
shr dword [esp + 8], cl
mov ecx, eax
mov eax, dword [esp + 8]
shl edx, cl
or eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
cmp dword [0x5192d4], 0
mov dword [esi + 0x101c], edx
mov dword [esi + 0x18], edi
je 0x4316a0
lzcnt ecx, edx
jmp 0x4316b1
test edx, edx
jne 0x4316a9
push 0x20
pop ecx
jmp 0x4316b1
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
cmp ecx, 0x20
jae 0x4316bf
mov dword [esp + 0x14], ecx
jmp 0x431876
push 0x20
pop eax
sub eax, edi
mov dword [esp + 0x14], eax
mov edi, dword [esi + 0x14]
cmp edi, 0x400
jae 0x431831
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x431765
mov edi, dword [esi + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, edi
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, edi
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, edi
mov edi, dword [esi + 0x14]
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 0x43180a
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x4317e4
sub eax, 1
je 0x4317c2
sub eax, 1
je 0x4317a0
sub eax, 1
jne 0x431803
mov eax, dword [esi + 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 [esi + 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 [esi + 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 [esi + 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 [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
lea eax, [edi + 1]
mov ecx, dword [esi + edi*4 + 0x1c]
push ecx
mov dword [esi + 0x14], eax
call fcn.0044d5b3
mov edx, eax
xor edi, edi
pop ecx
mov dword [esi + 0x1024], edx
jmp 0x431849
mov ecx, esi
call fcn.0042c2f5
test eax, eax
je 0x432290
mov edx, dword [esi + 0x101c]
mov edi, dword [esi + 0x18]
cmp dword [0x5192d4], 0
je 0x431858
lzcnt ecx, edx
jmp 0x431869
test edx, edx
jne 0x431861
push 0x20
pop ecx
jmp 0x431869
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x14], ecx
cmp ecx, 0x20
jae 0x4316c8
shl edx, cl
add edi, ecx
mov ecx, dword [esp + 0x20]
mov eax, edx
shr eax, cl
cmp edi, ecx
ja 0x43189b
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x88]
inc ecx
shl edx, cl
add edi, ecx
jmp 0x431a52
sub edi, ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], edi
mov edi, dword [esi + 0x14]
cmp edi, 0x400
jae 0x431a12
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x431942
mov edi, dword [esi + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, edi
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, edi
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, edi
mov edi, dword [esi + 0x14]
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 0x4319e7
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x4319c1
sub eax, 1
je 0x43199f
sub eax, 1
je 0x43197d
sub eax, 1
jne 0x4319e0
mov eax, dword [esi + 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 [esi + 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 [esi + 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 [esi + 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 [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
lea eax, [edi + 1]
mov ecx, dword [esi + edi*4 + 0x1c]
push ecx
mov dword [esi + 0x14], eax
call fcn.0044d5b3
mov edx, eax
mov eax, dword [esp + 0x30]
pop ecx
mov edi, eax
mov dword [esi + 0x1024], edx
jmp 0x431a3f
mov ecx, esi
call fcn.0042c2f5
test eax, eax
je 0x432290
mov edi, dword [esi + 0x18]
mov ecx, dword [esp + 0x2c]
push 0x20
pop eax
sub eax, edi
cmp ecx, eax
ja 0x432290
mov edx, dword [esi + 0x101c]
add edi, ecx
mov eax, ecx
push 0x20
pop ecx
sub ecx, eax
mov eax, edx
shr eax, cl
mov ecx, dword [esp + 0x2c]
shl edx, cl
or eax, dword [esp + 0x48]
movd xmm2, dword [esp + 0x14]
movd xmm0, dword [esp + 0x18]
movd xmm1, dword [esp + 0x24]
movd xmm4, dword [esp + 0xc]
movd xmm3, dword [esp + 0x10]
movaps xmm6, xmmword [esp + 0x30]
punpckldq xmm4, xmm0
movd xmm0, dword [esp + 0x1c]
punpckldq xmm1, xmm2
punpckldq xmm4, xmm1
movd xmm1, dword [esp + 0x28]
pslld xmm4, xmm0
movd xmm0, dword [esp + 8]
punpckldq xmm3, xmm0
movd xmm2, eax
mov eax, dword [ebp + 0xc]
punpckldq xmm1, xmm2
punpckldq xmm3, xmm1
pand xmm3, xmmword [esp + 0xc0]
por xmm4, xmm3
mov dword [esi + 0x101c], edx
movaps xmm3, xmmword [0x4f2970]
pand xmm3, xmm4
mov dword [esi + 0x18], edi
pxor xmm3, xmmword [0x4f2a50]
paddd xmm3, xmmword [0x4f2970]
push 4
psrld xmm4, 1
pop ecx
pxor xmm3, xmm4
cmp eax, ecx
ja 0x431b38
mov eax, ecx
movaps xmm0, xmmword [esp + 0x90]
pmulld xmm0, xmm6
pshufd xmm1, xmm0, 0x4e
paddd xmm1, xmm0
movd xmm0, dword [ebp + 0x10]
pshuflw xmm2, xmm1, 0x4e
paddd xmm2, xmm1
psrad xmm2, xmm0
xorps xmm0, xmm0
palignr xmm0, xmm3, 4
paddd xmm2, xmm3
palignr xmm2, xmm6, 4
movaps xmm3, xmm0
movaps xmm6, xmm2
sub eax, 1
jne 0x431aed
jmp 0x431c3b
movaps xmm7, xmmword [esp + 0x50]
cmp eax, 8
mov eax, ecx
ja 0x431bac
movaps xmm1, xmmword [esp + 0xb0]
movaps xmm0, xmmword [esp + 0x90]
pmulld xmm1, xmm7
pmulld xmm0, xmm6
paddd xmm1, xmm0
movaps xmm0, xmm6
pshufd xmm2, xmm1, 0x4e
palignr xmm0, xmm7, 4
paddd xmm2, xmm1
pshuflw xmm1, xmm2, 0x4e
movaps xmm7, xmm0
movd xmm0, dword [ebp + 0x10]
paddd xmm1, xmm2
psrad xmm1, xmm0
xorps xmm0, xmm0
palignr xmm0, xmm3, 4
paddd xmm1, xmm3
palignr xmm1, xmm6, 4
movaps xmm3, xmm0
movaps xmm6, xmm1
sub eax, 1
jne 0x431b44
jmp 0x431c36
movaps xmm4, xmmword [esp + 0x70]
movaps xmm1, xmmword [esp + 0xd0]
movaps xmm0, xmmword [esp + 0xb0]
pmulld xmm0, xmm7
pmulld xmm1, xmm4
paddd xmm1, xmm0
movaps xmm0, xmmword [esp + 0x90]
pmulld xmm0, xmm6
paddd xmm1, xmm0
movaps xmm0, xmm7
palignr xmm0, xmm4, 4
pshufd xmm2, xmm1, 0x4e
movaps xmm4, xmm0
paddd xmm2, xmm1
movaps xmm0, xmm6
palignr xmm0, xmm7, 4
pshuflw xmm1, xmm2, 0x4e
movaps xmm7, xmm0
movd xmm0, dword [ebp + 0x10]
paddd xmm1, xmm2
psrad xmm1, xmm0
xorps xmm0, xmm0
palignr xmm0, xmm3, 4
paddd xmm1, xmm3
palignr xmm1, xmm6, 4
movaps xmm3, xmm0
movaps xmm6, xmm1
sub eax, 1
jne 0x431bb1
movaps xmmword [esp + 0x70], xmm4
movaps xmmword [esp + 0x50], xmm7
mov edi, dword [ebp + 0x18]
movaps xmmword [esp + 0x30], xmm6
movups xmmword [edi], xmm6
add edi, 0x10
mov dword [ebp + 0x18], edi
cmp edi, dword [esp + 0x4c]
jb 0x430b17
mov eax, dword [esp + 0x6c]
cmp dword [esp + 0x44], eax
jge 0x432287
cmp dword [0x5192d4], 0
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x101c]
mov dword [esp + 0xc], eax
je 0x431c80
lzcnt ecx, edx
jmp 0x431c95
test edx, edx
jne 0x431c89
push 0x20
pop ecx
jmp 0x431c95
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
mov eax, dword [esp + 0xc]
cmp ecx, 0x20
jae 0x431ca3
mov dword [esp + 0x10], ecx
jmp 0x431e60
push 0x20
pop ecx
sub ecx, eax
mov dword [esp + 0x10], ecx
cmp dword [esi + 0x14], 0x400
jae 0x431e17
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x431d4a
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, dword [esi + 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 [esi + 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 [esi + 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 0x431def
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x431dc9
sub eax, 1
je 0x431da7
sub eax, 1
je 0x431d85
sub eax, 1
jne 0x431de8
mov eax, dword [esi + 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 [esi + 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 [esi + 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 [esi + 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 [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + eax*4 + 0x1c]
inc eax
push ecx
mov dword [esi + 0x14], eax
call fcn.0044d5b3
mov edx, eax
xor eax, eax
pop ecx
mov dword [esi + 0x1024], edx
jmp 0x431e2f
mov ecx, esi
call fcn.0042c2f5
test eax, eax
je 0x432290
mov edx, dword [esi + 0x101c]
mov eax, dword [esi + 0x18]
cmp dword [0x5192d4], 0
mov dword [esp + 0xc], eax
je 0x431e42
lzcnt ecx, edx
jmp 0x431e53
test edx, edx
jne 0x431e4b
push 0x20
pop ecx
jmp 0x431e53
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x10], ecx
cmp ecx, 0x20
jae 0x431cac
mov eax, dword [esp + 0xc]
shl edx, cl
add eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 8], edx
shr dword [esp + 8], cl
cmp eax, ecx
ja 0x431e89
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x18]
inc ecx
shl edx, cl
add eax, ecx
jmp 0x432062
sub eax, dword [esp + 0x20]
mov ecx, dword [esp + 8]
mov dword [esp + 0xc], eax
mov eax, esi
push 0x14
mov dword [esp + 0x4c], ecx
pop ecx
mov eax, dword [ecx + eax]
mov dword [esp + 0x4c], eax
cmp eax, 0x400
jae 0x432019
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x431f41
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, dword [esi + 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 [esi + 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 [esi + 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 0x431fe6
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x431fc0
sub eax, 1
je 0x431f9e
sub eax, 1
je 0x431f7c
sub eax, 1
jne 0x431fdf
mov eax, dword [esi + 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 [esi + 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 [esi + 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 [esi + 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 [esi + 0x1028], 0
movzx eax, dx
mov edx, esi
mov word [esi + 0x1020], ax
mov eax, dword [esp + 0x4c]
push 0x14
pop edi
mov ecx, dword [esi + eax*4 + 0x1c]
inc eax
push ecx
mov dword [edi + edx], eax
call fcn.0044d5b3
mov edi, dword [ebp + 0x18]
mov edx, eax
mov eax, dword [esp + 0x10]
pop ecx
mov dword [esi + 0x1024], edx
jmp 0x432045
mov ecx, esi
call fcn.0042c2f5
test eax, eax
je 0x432290
mov ecx, dword [esp + 0xc]
push 0x20
pop eax
sub eax, dword [esi + 0x18]
cmp ecx, eax
ja 0x432290
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x101c]
add eax, ecx
push 0x20
pop ecx
sub ecx, dword [esp + 0xc]
mov dword [esp + 8], edx
shr dword [esp + 8], cl
mov ecx, dword [esp + 0xc]
shl edx, cl
mov ecx, dword [esp + 0x48]
or dword [esp + 8], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x101c], edx
mov edx, dword [esp + 0x10]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 8]
and eax, dword [esp + 0x8c]
shl edx, cl
or edx, eax
mov eax, edx
shr edx, 1
and eax, 1
xor edx, dword [esp + eax*4 + 0xa8]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x10], edx
xor edx, edx
dec eax
cmp eax, 0x1f
ja case.default.0x4320a3
jmp dword [eax*4 + 0x432296]
mov eax, dword [ebp + 0x14]
mov edx, dword [edi - 0x80]
imul edx, dword [eax + 0x7c]
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x7c]
imul eax, dword [ecx + 0x78]
add edx, eax
jmp 0x4320c5
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x78]
imul eax, dword [ecx + 0x74]
add edx, eax
jmp 0x4320d3
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x74]
imul eax, dword [ecx + 0x70]
add edx, eax
jmp 0x4320e1
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x70]
imul eax, dword [ecx + 0x6c]
add edx, eax
jmp 0x4320ef
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x6c]
imul eax, dword [ecx + 0x68]
add edx, eax
jmp 0x4320fd
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x68]
imul eax, dword [ecx + 0x64]
add edx, eax
jmp 0x43210b
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x64]
imul eax, dword [ecx + 0x60]
add edx, eax
jmp 0x432119
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x60]
imul eax, dword [ecx + 0x5c]
add edx, eax
jmp 0x432127
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x5c]
imul eax, dword [ecx + 0x58]
add edx, eax
jmp 0x432135
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x58]
imul eax, dword [ecx + 0x54]
add edx, eax
jmp 0x432143
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x54]
imul eax, dword [ecx + 0x50]
add edx, eax
jmp 0x432151
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x50]
imul eax, dword [ecx + 0x4c]
add edx, eax
jmp 0x43215f
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x4c]
imul eax, dword [ecx + 0x48]
add edx, eax
jmp 0x43216d
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x48]
imul eax, dword [ecx + 0x44]
add edx, eax
jmp 0x43217b
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x44]
imul eax, dword [ecx + 0x40]
add edx, eax
jmp 0x432189
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x40]
imul eax, dword [ecx + 0x3c]
add edx, eax
jmp 0x432197
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x3c]
imul eax, dword [ecx + 0x38]
add edx, eax
jmp 0x4321a5
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x38]
imul eax, dword [ecx + 0x34]
add edx, eax
jmp 0x4321b3
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x34]
imul eax, dword [ecx + 0x30]
add edx, eax
jmp 0x4321c1
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x30]
imul eax, dword [ecx + 0x2c]
add edx, eax
jmp 0x4321cf
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x2c]
imul eax, dword [ecx + 0x28]
add edx, eax
jmp 0x4321dd
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x28]
imul eax, dword [ecx + 0x24]
add edx, eax
jmp 0x4321eb
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x24]
imul eax, dword [ecx + 0x20]
add edx, eax
jmp 0x4321f9
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x20]
imul eax, dword [ecx + 0x1c]
add edx, eax
jmp 0x432207
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x1c]
imul eax, dword [ecx + 0x18]
add edx, eax
jmp 0x432215
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x18]
imul eax, dword [ecx + 0x14]
add edx, eax
jmp 0x432223
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x14]
imul eax, dword [ecx + 0x10]
add edx, eax
jmp 0x432231
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0x10]
imul eax, dword [ecx + 0xc]
add edx, eax
jmp 0x43223f
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 0xc]
imul eax, dword [ecx + 8]
add edx, eax
jmp 0x43224d
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 8]
imul eax, dword [ecx + 4]
add edx, eax
jmp 0x43225b
mov ecx, dword [ebp + 0x14]
mov eax, dword [edi - 4]
imul eax, dword [ecx]
add edx, eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [esp + 0x44]
sar edx, cl
add edx, dword [esp + 0x10]
inc eax
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x44], eax
mov dword [ebp + 0x18], edi
cmp eax, dword [esp + 0x6c]
jl 0x431c64
xor eax, eax
inc eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor eax, eax
jmp 0x43228a