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

Disassembly:
sub esp, 0x80
and dword [esp + 0x78], 0
or eax, 0xffffffff
push ebx
push ebp
push esi
push edi
mov edi, edx
mov dword [esp + 0x8c], eax
mov edx, dword [esp + 0x9c]
mov ebx, ecx
mov dword [esp + 0x84], edi
mov dword [esp + 0x10], ebx
test edx, edx
jne 0x42cfa8
push dword [esp + 0xac]
push dword [esp + 0xac]
push dword [esp + 0xa8]
push edx
push dword [esp + 0xa8]
mov edx, edi
push dword [esp + 0xa8]
call fcn.0042cb0c
add esp, 0x18
jmp 0x4304bc
movzx ecx, byte [esp + 0x98]
mov esi, dword [esp + 0xac]
shl eax, cl
not eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], eax
mov ecx, edx
mov eax, dword [esp + 0x94]
and eax, 0xfffffffc
mov dword [esp + 0x1c], esi
lea ebp, [esi + eax*4]
xor eax, eax
mov dword [esp + 0x80], ebp
inc eax
shr ecx, 1
jne 0x42cfdf
add eax, edi
mov edi, dword [esp + 0xa8]
add eax, dword [esp + 0xa4]
cmp eax, 0x20
jbe 0x42e69d
cmp esi, ebp
jae 0x42fd58
mov ecx, dword [esp + 0x18]
push 0x20
inc ecx
pop eax
sub eax, ecx
mov dword [esp + 0x30], eax
cmp dword [0x5192d4], 0
mov edx, dword [ebx + 0x101c]
mov ebp, dword [ebx + 0x18]
je 0x42d02b
lzcnt ecx, edx
jmp 0x42d03c
test edx, edx
jne 0x42d034
push 0x20
pop ecx
jmp 0x42d03c
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
cmp ecx, 0x20
jae 0x42d04a
mov dword [esp + 0x14], ecx
jmp 0x42d201
push 0x20
pop eax
sub eax, ebp
mov dword [esp + 0x14], eax
mov ebp, dword [ebx + 0x14]
cmp ebp, 0x400
jae 0x42d1bc
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42d0f0
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [ebx + 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 0x42d195
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42d16f
sub eax, 1
je 0x42d14d
sub eax, 1
je 0x42d12b
sub eax, 1
jne 0x42d18e
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
lea eax, [ebp + 1]
mov ecx, dword [ebx + ebp*4 + 0x1c]
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
xor ebp, ebp
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42d1d4
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov edx, dword [ebx + 0x101c]
mov ebp, dword [ebx + 0x18]
cmp dword [0x5192d4], 0
je 0x42d1e3
lzcnt ecx, edx
jmp 0x42d1f4
test edx, edx
jne 0x42d1ec
push 0x20
pop ecx
jmp 0x42d1f4
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x14], ecx
cmp ecx, 0x20
jae 0x42d053
shl edx, cl
add ebp, ecx
mov ecx, dword [esp + 0x30]
mov eax, edx
shr eax, cl
mov dword [esp + 0x34], eax
cmp ebp, ecx
ja 0x42d225
mov eax, dword [esp + 0x18]
inc eax
mov ecx, eax
shl edx, cl
add ebp, eax
jmp 0x42d3d2
sub ebp, ecx
mov dword [esp + 0x34], eax
cmp dword [ebx + 0x14], 0x400
mov dword [esp + 0x3c], ebp
jae 0x42d396
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42d2cb
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [esp + 0x3c]
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 0x42d370
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42d34a
sub eax, 1
je 0x42d328
sub eax, 1
je 0x42d306
sub eax, 1
jne 0x42d369
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + eax*4 + 0x1c]
inc eax
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42d3bd
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov ecx, dword [ebx + 0x18]
push 0x20
pop eax
sub eax, ecx
cmp ebp, eax
ja 0x4304c7
mov edx, dword [ebx + 0x101c]
add ebp, ecx
push 0x20
pop ecx
sub ecx, dword [esp + 0x3c]
mov eax, edx
shr eax, cl
mov ecx, dword [esp + 0x3c]
shl edx, cl
or dword [esp + 0x34], eax
cmp dword [0x5192d4], 0
mov dword [ebx + 0x101c], edx
mov dword [ebx + 0x18], ebp
je 0x42d3ea
lzcnt ecx, edx
jmp 0x42d3fb
test edx, edx
jne 0x42d3f3
push 0x20
pop ecx
jmp 0x42d3fb
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
cmp ecx, 0x20
jae 0x42d409
mov dword [esp + 0x20], ecx
jmp 0x42d5c0
push 0x20
pop eax
sub eax, ebp
mov dword [esp + 0x20], eax
mov ebp, dword [ebx + 0x14]
cmp ebp, 0x400
jae 0x42d57b
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42d4af
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [ebx + 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 0x42d554
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42d52e
sub eax, 1
je 0x42d50c
sub eax, 1
je 0x42d4ea
sub eax, 1
jne 0x42d54d
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
lea eax, [ebp + 1]
mov ecx, dword [ebx + ebp*4 + 0x1c]
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
xor ebp, ebp
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42d593
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov edx, dword [ebx + 0x101c]
mov ebp, dword [ebx + 0x18]
cmp dword [0x5192d4], 0
je 0x42d5a2
lzcnt ecx, edx
jmp 0x42d5b3
test edx, edx
jne 0x42d5ab
push 0x20
pop ecx
jmp 0x42d5b3
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x20], ecx
cmp ecx, 0x20
jae 0x42d412
shl edx, cl
add ebp, ecx
mov ecx, dword [esp + 0x30]
mov eax, edx
shr eax, cl
mov dword [esp + 0x38], eax
cmp ebp, ecx
ja 0x42d5e4
mov eax, dword [esp + 0x18]
inc eax
mov ecx, eax
shl edx, cl
add ebp, eax
jmp 0x42d791
sub ebp, ecx
mov dword [esp + 0x38], eax
cmp dword [ebx + 0x14], 0x400
mov dword [esp + 0x3c], ebp
jae 0x42d755
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42d68a
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [esp + 0x3c]
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 0x42d72f
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42d709
sub eax, 1
je 0x42d6e7
sub eax, 1
je 0x42d6c5
sub eax, 1
jne 0x42d728
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + eax*4 + 0x1c]
inc eax
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42d77c
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov ecx, dword [ebx + 0x18]
push 0x20
pop eax
sub eax, ecx
cmp ebp, eax
ja 0x4304c7
mov edx, dword [ebx + 0x101c]
add ebp, ecx
push 0x20
pop ecx
sub ecx, dword [esp + 0x3c]
mov eax, edx
shr eax, cl
mov ecx, dword [esp + 0x3c]
shl edx, cl
or dword [esp + 0x38], eax
cmp dword [0x5192d4], 0
mov dword [ebx + 0x101c], edx
mov dword [ebx + 0x18], ebp
je 0x42d7a9
lzcnt ecx, edx
jmp 0x42d7ba
test edx, edx
jne 0x42d7b2
push 0x20
pop ecx
jmp 0x42d7ba
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
cmp ecx, 0x20
jae 0x42d7c8
mov dword [esp + 0x28], ecx
jmp 0x42d97f
push 0x20
pop eax
sub eax, ebp
mov dword [esp + 0x28], eax
mov ebp, dword [ebx + 0x14]
cmp ebp, 0x400
jae 0x42d93a
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42d86e
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [ebx + 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 0x42d913
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42d8ed
sub eax, 1
je 0x42d8cb
sub eax, 1
je 0x42d8a9
sub eax, 1
jne 0x42d90c
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
lea eax, [ebp + 1]
mov ecx, dword [ebx + ebp*4 + 0x1c]
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
xor ebp, ebp
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42d952
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov edx, dword [ebx + 0x101c]
mov ebp, dword [ebx + 0x18]
cmp dword [0x5192d4], 0
je 0x42d961
lzcnt ecx, edx
jmp 0x42d972
test edx, edx
jne 0x42d96a
push 0x20
pop ecx
jmp 0x42d972
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x28], ecx
cmp ecx, 0x20
jae 0x42d7d1
shl edx, cl
add ebp, ecx
mov ecx, dword [esp + 0x30]
mov eax, edx
shr eax, cl
mov dword [esp + 0x3c], eax
cmp ebp, ecx
ja 0x42d9a3
mov eax, dword [esp + 0x18]
inc eax
mov ecx, eax
shl edx, cl
add ebp, eax
jmp 0x42db50
sub ebp, ecx
mov dword [esp + 0x3c], eax
cmp dword [ebx + 0x14], 0x400
mov dword [esp + 0x2c], ebp
jae 0x42db14
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42da49
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [esp + 0x2c]
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 0x42daee
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42dac8
sub eax, 1
je 0x42daa6
sub eax, 1
je 0x42da84
sub eax, 1
jne 0x42dae7
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + eax*4 + 0x1c]
inc eax
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42db3b
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov ecx, dword [ebx + 0x18]
push 0x20
pop eax
sub eax, ecx
cmp ebp, eax
ja 0x4304c7
mov edx, dword [ebx + 0x101c]
add ebp, ecx
push 0x20
pop ecx
sub ecx, dword [esp + 0x2c]
mov eax, edx
shr eax, cl
mov ecx, dword [esp + 0x2c]
shl edx, cl
or dword [esp + 0x3c], eax
cmp dword [0x5192d4], 0
mov dword [ebx + 0x101c], edx
mov dword [ebx + 0x18], ebp
je 0x42db68
lzcnt ecx, edx
jmp 0x42db79
test edx, edx
jne 0x42db71
push 0x20
pop ecx
jmp 0x42db79
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
cmp ecx, 0x20
jae 0x42db87
mov dword [esp + 0x2c], ecx
jmp 0x42dd3e
push 0x20
pop eax
sub eax, ebp
mov dword [esp + 0x2c], eax
mov ebp, dword [ebx + 0x14]
cmp ebp, 0x400
jae 0x42dcf9
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42dc2d
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [ebx + 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 0x42dcd2
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42dcac
sub eax, 1
je 0x42dc8a
sub eax, 1
je 0x42dc68
sub eax, 1
jne 0x42dccb
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
lea eax, [ebp + 1]
mov ecx, dword [ebx + ebp*4 + 0x1c]
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
xor ebp, ebp
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42dd11
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov edx, dword [ebx + 0x101c]
mov ebp, dword [ebx + 0x18]
cmp dword [0x5192d4], 0
je 0x42dd20
lzcnt ecx, edx
jmp 0x42dd31
test edx, edx
jne 0x42dd29
push 0x20
pop ecx
jmp 0x42dd31
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x2c], ecx
cmp ecx, 0x20
jae 0x42db90
shl edx, cl
add ebp, ecx
mov ecx, dword [esp + 0x30]
mov eax, edx
shr eax, cl
mov dword [esp + 0x40], eax
cmp ebp, ecx
ja 0x42dd62
mov eax, dword [esp + 0x18]
inc eax
mov ecx, eax
shl edx, cl
add ebp, eax
jmp 0x42df13
sub ebp, ecx
mov dword [esp + 0x7c], eax
cmp dword [ebx + 0x14], 0x400
mov dword [esp + 0x40], ebp
jae 0x42ded3
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42de08
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [esp + 0x40]
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 0x42dead
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42de87
sub eax, 1
je 0x42de65
sub eax, 1
je 0x42de43
sub eax, 1
jne 0x42dea6
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + eax*4 + 0x1c]
inc eax
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42defa
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov ecx, dword [ebx + 0x18]
push 0x20
pop eax
sub eax, ecx
cmp ebp, eax
ja 0x4304c7
mov edx, dword [ebx + 0x101c]
add ebp, ecx
push 0x20
pop ecx
sub ecx, dword [esp + 0x40]
mov eax, edx
shr eax, cl
mov ecx, dword [esp + 0x40]
shl edx, cl
or eax, dword [esp + 0x7c]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0x101c], edx
mov edx, dword [esp + 0x14]
shl edx, cl
mov dword [ebx + 0x18], ebp
mov ebp, dword [esp + 0x24]
mov eax, ebp
and eax, dword [esp + 0x34]
and ebp, dword [esp + 0x38]
or edx, eax
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x3c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
shl edx, cl
or edx, ebp
mov ebp, dword [esp + 0x28]
shl ebp, cl
or ebp, eax
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x40]
and eax, dword [esp + 0x24]
shl edx, cl
mov ecx, dword [esp + 0x14]
or edx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
xor ecx, dword [esp + eax*4 + 0x88]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x20]
mov eax, ecx
and eax, 1
shr ecx, 1
xor ecx, dword [esp + eax*4 + 0x88]
mov eax, ebp
and eax, 1
shr ebp, 1
mov dword [esp + 0x20], ecx
xor ebp, dword [esp + eax*4 + 0x88]
mov eax, edx
and eax, 1
shr edx, 1
mov dword [esp + 0x28], ebp
xor edx, dword [esp + eax*4 + 0x88]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x2c], edx
cmp eax, 8
jne 0x42dfd1
mov eax, dword [edi + 0x1c]
imul dword [esi - 0x20]
mov ecx, eax
mov ebp, edx
jmp 0x42e0c6
cmp eax, 7
jne 0x42dfe5
mov eax, dword [edi + 0x18]
imul dword [esi - 0x1c]
mov ecx, eax
mov ebp, edx
jmp 0x42e0d0
cmp eax, 3
jne 0x42dff9
mov eax, dword [edi + 8]
imul dword [esi - 0xc]
mov ecx, eax
mov ebp, edx
jmp 0x42e0f8
cmp eax, 6
jne 0x42e00d
mov eax, dword [edi + 0x14]
imul dword [esi - 0x18]
mov ecx, eax
mov ebp, edx
jmp 0x42e0da
cmp eax, 5
jne 0x42e021
mov eax, dword [edi + 0x10]
imul dword [esi - 0x14]
mov ecx, eax
mov ebp, edx
jmp 0x42e0e4
cmp eax, 4
jne 0x42e035
mov eax, dword [edi + 0xc]
imul dword [esi - 0x10]
mov ecx, eax
mov ebp, edx
jmp 0x42e0ee
cmp eax, 0xc
jne 0x42e050
mov eax, dword [edi + 0x2c]
imul dword [esi - 0x30]
mov ecx, eax
mov ebp, edx
mov eax, dword [edi + 0x28]
imul dword [esi - 0x2c]
add ecx, eax
adc ebp, edx
jmp 0x42e0a8
cmp eax, 2
jne 0x42e064
mov eax, dword [edi + 4]
imul dword [esi - 8]
mov ecx, eax
mov ebp, edx
jmp 0x42e102
cmp eax, 1
jne 0x42e077
mov eax, dword [edi]
imul dword [esi - 4]
mov ecx, eax
mov ebp, edx
jmp 0x42e152
cmp eax, 0xa
jne 0x42e088
mov eax, dword [edi + 0x24]
imul dword [esi - 0x28]
mov ecx, eax
mov ebp, edx
jmp 0x42e0b2
cmp eax, 9
jne 0x42e099
mov eax, dword [edi + 0x20]
imul dword [esi - 0x24]
mov ecx, eax
mov ebp, edx
jmp 0x42e0bc
cmp eax, 0xb
jne 0x42e10d
mov eax, dword [edi + 0x28]
imul dword [esi - 0x2c]
mov ecx, eax
mov ebp, edx
mov eax, dword [edi + 0x24]
imul dword [esi - 0x28]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x20]
imul dword [esi - 0x24]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x1c]
imul dword [esi - 0x20]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x18]
imul dword [esi - 0x1c]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x14]
imul dword [esi - 0x18]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x10]
imul dword [esi - 0x14]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0xc]
imul dword [esi - 0x10]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 8]
imul dword [esi - 0xc]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 4]
imul dword [esi - 8]
add ecx, eax
adc ebp, edx
mov eax, dword [edi]
imul dword [esi - 4]
add ecx, eax
adc ebp, edx
jmp 0x42e152
and dword [esp + 0x7c], 0
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
mov ebp, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
test eax, eax
jle 0x42e152
mov ebx, dword [esp + 0x7c]
lea eax, [esi - 4]
mov dword [esp + 0x78], eax
mov esi, eax
mov eax, dword [edi + ebx*4]
imul dword [esi]
lea esi, [esi - 4]
add ecx, eax
adc ebp, edx
inc ebx
cmp ebx, dword [esp + 0x9c]
jl 0x42e134
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov eax, ecx
mov edx, ebp
mov ecx, dword [esp + 0xa0]
call fcn.004604f0
mov ecx, dword [esp + 0x14]
add ecx, eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x14], ecx
mov dword [esi], ecx
cmp eax, 8
jne 0x42e189
mov eax, dword [edi + 0x1c]
imul dword [esi - 0x1c]
mov ecx, eax
mov ebp, edx
jmp 0x42e27d
cmp eax, 7
jne 0x42e19d
mov eax, dword [edi + 0x18]
imul dword [esi - 0x18]
mov ecx, eax
mov ebp, edx
jmp 0x42e287
cmp eax, 3
jne 0x42e1b1
mov eax, dword [edi + 8]
imul dword [esi - 8]
mov ecx, eax
mov ebp, edx
jmp 0x42e2af
cmp eax, 6
jne 0x42e1c5
mov eax, dword [edi + 0x14]
imul dword [esi - 0x14]
mov ecx, eax
mov ebp, edx
jmp 0x42e291
cmp eax, 5
jne 0x42e1d9
mov eax, dword [edi + 0x10]
imul dword [esi - 0x10]
mov ecx, eax
mov ebp, edx
jmp 0x42e29b
cmp eax, 4
jne 0x42e1ed
mov eax, dword [edi + 0xc]
imul dword [esi - 0xc]
mov ecx, eax
mov ebp, edx
jmp 0x42e2a5
cmp eax, 0xc
jne 0x42e208
mov eax, dword [edi + 0x2c]
imul dword [esi - 0x2c]
mov ecx, eax
mov ebp, edx
mov eax, dword [edi + 0x28]
imul dword [esi - 0x28]
add ecx, eax
adc ebp, edx
jmp 0x42e25f
cmp eax, 2
jne 0x42e21c
mov eax, dword [edi + 4]
imul dword [esi - 4]
mov ecx, eax
mov ebp, edx
jmp 0x42e2b9
cmp eax, 1
jne 0x42e22e
mov eax, dword [edi]
imul ecx
mov ecx, eax
mov ebp, edx
jmp 0x42e305
cmp eax, 0xa
jne 0x42e23f
mov eax, dword [edi + 0x24]
imul dword [esi - 0x24]
mov ecx, eax
mov ebp, edx
jmp 0x42e269
cmp eax, 9
jne 0x42e250
mov eax, dword [edi + 0x20]
imul dword [esi - 0x20]
mov ecx, eax
mov ebp, edx
jmp 0x42e273
cmp eax, 0xb
jne 0x42e2c5
mov eax, dword [edi + 0x28]
imul dword [esi - 0x28]
mov ecx, eax
mov ebp, edx
mov eax, dword [edi + 0x24]
imul dword [esi - 0x24]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x20]
imul dword [esi - 0x20]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x1c]
imul dword [esi - 0x1c]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x18]
imul dword [esi - 0x18]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x14]
imul dword [esi - 0x14]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x10]
imul dword [esi - 0x10]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0xc]
imul dword [esi - 0xc]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 8]
imul dword [esi - 8]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 4]
imul dword [esi - 4]
add ecx, eax
adc ebp, edx
mov eax, dword [edi]
imul dword [esp + 0x14]
add ecx, eax
adc ebp, edx
jmp 0x42e305
and dword [esp + 0x7c], 0
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
mov ebp, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
test eax, eax
jle 0x42e305
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x78], esi
mov eax, dword [edi + ebx*4]
imul dword [esi]
lea esi, [esi - 4]
add ecx, eax
adc ebp, edx
inc ebx
cmp ebx, dword [esp + 0x9c]
jl 0x42e2e7
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov eax, ecx
mov edx, ebp
mov ecx, dword [esp + 0xa0]
call fcn.004604f0
add eax, dword [esp + 0x20]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x9c]
cmp eax, 8
jne 0x42e337
mov eax, dword [edi + 0x1c]
imul dword [esi - 0x18]
mov ecx, eax
mov ebp, edx
jmp 0x42e42b
cmp eax, 7
jne 0x42e34b
mov eax, dword [edi + 0x18]
imul dword [esi - 0x14]
mov ecx, eax
mov ebp, edx
jmp 0x42e435
cmp eax, 3
jne 0x42e35f
mov eax, dword [edi + 8]
imul dword [esi - 4]
mov ecx, eax
mov ebp, edx
jmp 0x42e45d
cmp eax, 6
jne 0x42e373
mov eax, dword [edi + 0x14]
imul dword [esi - 0x10]
mov ecx, eax
mov ebp, edx
jmp 0x42e43f
cmp eax, 5
jne 0x42e387
mov eax, dword [edi + 0x10]
imul dword [esi - 0xc]
mov ecx, eax
mov ebp, edx
jmp 0x42e449
cmp eax, 4
jne 0x42e39b
mov eax, dword [edi + 0xc]
imul dword [esi - 8]
mov ecx, eax
mov ebp, edx
jmp 0x42e453
cmp eax, 0xc
jne 0x42e3b6
mov eax, dword [edi + 0x2c]
imul dword [esi - 0x28]
mov ecx, eax
mov ebp, edx
mov eax, dword [edi + 0x28]
imul dword [esi - 0x24]
add ecx, eax
adc ebp, edx
jmp 0x42e40d
cmp eax, 2
jne 0x42e3c9
mov eax, dword [edi]
imul dword [esi + 4]
mov ecx, eax
mov ebp, edx
jmp 0x42e466
cmp eax, 1
jne 0x42e3dc
mov eax, dword [edi]
imul dword [esi + 4]
mov ecx, eax
mov ebp, edx
jmp 0x42e4b6
cmp eax, 0xa
jne 0x42e3ed
mov eax, dword [edi + 0x24]
imul dword [esi - 0x20]
mov ecx, eax
mov ebp, edx
jmp 0x42e417
cmp eax, 9
jne 0x42e3fe
mov eax, dword [edi + 0x20]
imul dword [esi - 0x1c]
mov ecx, eax
mov ebp, edx
jmp 0x42e421
cmp eax, 0xb
jne 0x42e471
mov eax, dword [edi + 0x28]
imul dword [esi - 0x24]
mov ecx, eax
mov ebp, edx
mov eax, dword [edi + 0x24]
imul dword [esi - 0x20]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x20]
imul dword [esi - 0x1c]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x1c]
imul dword [esi - 0x18]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x18]
imul dword [esi - 0x14]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x14]
imul dword [esi - 0x10]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x10]
imul dword [esi - 0xc]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0xc]
imul dword [esi - 8]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 8]
imul dword [esi - 4]
add ecx, eax
adc ebp, edx
mov eax, dword [edi]
imul dword [esi + 4]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 4]
imul dword [esi]
add ecx, eax
adc ebp, edx
jmp 0x42e4b6
and dword [esp + 0x7c], 0
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
mov ebp, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
test eax, eax
jle 0x42e4b6
mov ebx, dword [esp + 0x7c]
lea eax, [esi + 4]
mov dword [esp + 0x78], eax
mov esi, eax
mov eax, dword [edi + ebx*4]
imul dword [esi]
lea esi, [esi - 4]
add ecx, eax
adc ebp, edx
inc ebx
cmp ebx, dword [esp + 0x9c]
jl 0x42e498
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov eax, ecx
mov edx, ebp
mov ecx, dword [esp + 0xa0]
call fcn.004604f0
add eax, dword [esp + 0x28]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x9c]
cmp eax, 8
jne 0x42e4e8
mov eax, dword [edi + 0x1c]
imul dword [esi - 0x14]
mov ecx, eax
mov ebp, edx
jmp 0x42e5e2
cmp eax, 7
jne 0x42e4fc
mov eax, dword [edi + 0x18]
imul dword [esi - 0x10]
mov ecx, eax
mov ebp, edx
jmp 0x42e5ec
cmp eax, 3
jne 0x42e510
mov eax, dword [edi + 4]
imul dword [esi + 4]
mov ecx, eax
mov ebp, edx
jmp 0x42e614
cmp eax, 6
jne 0x42e524
mov eax, dword [edi + 0x14]
imul dword [esi - 0xc]
mov ecx, eax
mov ebp, edx
jmp 0x42e5f6
cmp eax, 5
jne 0x42e538
mov eax, dword [edi + 0x10]
imul dword [esi - 8]
mov ecx, eax
mov ebp, edx
jmp 0x42e600
cmp eax, 4
jne 0x42e54c
mov eax, dword [edi + 0xc]
imul dword [esi - 4]
mov ecx, eax
mov ebp, edx
jmp 0x42e60a
cmp eax, 0xc
jne 0x42e567
mov eax, dword [edi + 0x2c]
imul dword [esi - 0x24]
mov ecx, eax
mov ebp, edx
mov eax, dword [edi + 0x28]
imul dword [esi - 0x20]
add ecx, eax
adc ebp, edx
jmp 0x42e5c4
cmp eax, 2
jne 0x42e580
mov eax, dword [edi + 4]
imul dword [esi + 4]
mov ecx, eax
mov ebp, edx
mov eax, dword [edi]
imul dword [esi + 8]
jmp 0x42e622
cmp eax, 1
jne 0x42e593
mov eax, dword [edi]
imul dword [esi + 8]
mov ecx, eax
mov ebp, edx
jmp 0x42e66d
cmp eax, 0xa
jne 0x42e5a4
mov eax, dword [edi + 0x24]
imul dword [esi - 0x1c]
mov ecx, eax
mov ebp, edx
jmp 0x42e5ce
cmp eax, 9
jne 0x42e5b5
mov eax, dword [edi + 0x20]
imul dword [esi - 0x18]
mov ecx, eax
mov ebp, edx
jmp 0x42e5d8
cmp eax, 0xb
jne 0x42e628
mov eax, dword [edi + 0x28]
imul dword [esi - 0x20]
mov ecx, eax
mov ebp, edx
mov eax, dword [edi + 0x24]
imul dword [esi - 0x1c]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x20]
imul dword [esi - 0x18]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x1c]
imul dword [esi - 0x14]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x18]
imul dword [esi - 0x10]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x14]
imul dword [esi - 0xc]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x10]
imul dword [esi - 8]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0xc]
imul dword [esi - 4]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 4]
imul dword [esi + 4]
add ecx, eax
adc ebp, edx
mov eax, dword [edi]
imul dword [esi + 8]
add ecx, eax
mov eax, dword [edi + 8]
adc ebp, edx
imul dword [esi]
add ecx, eax
adc ebp, edx
jmp 0x42e66d
and dword [esp + 0x7c], 0
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
mov ebp, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
test eax, eax
jle 0x42e66d
mov ebx, dword [esp + 0x7c]
lea eax, [esi + 8]
mov dword [esp + 0x78], eax
mov esi, eax
mov eax, dword [edi + ebx*4]
imul dword [esi]
lea esi, [esi - 4]
add ecx, eax
adc ebp, edx
inc ebx
cmp ebx, dword [esp + 0x9c]
jl 0x42e64f
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov eax, ecx
mov edx, ebp
mov ecx, dword [esp + 0xa0]
call fcn.004604f0
add eax, dword [esp + 0x2c]
mov dword [esi + 0xc], eax
add esi, 0x10
mov dword [esp + 0x1c], esi
cmp esi, dword [esp + 0x80]
jb 0x42d013
jmp 0x42fd58
cmp esi, ebp
jae 0x42fd58
mov ecx, dword [esp + 0x18]
push 0x20
inc ecx
pop eax
sub eax, ecx
mov dword [esp + 0x3c], eax
cmp dword [0x5192d4], 0
mov edx, dword [ebx + 0x101c]
mov ebp, dword [ebx + 0x18]
je 0x42e6cb
lzcnt ecx, edx
jmp 0x42e6dc
test edx, edx
jne 0x42e6d4
push 0x20
pop ecx
jmp 0x42e6dc
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
cmp ecx, 0x20
jae 0x42e6ea
mov dword [esp + 0x20], ecx
jmp 0x42e8a1
push 0x20
pop eax
sub eax, ebp
mov dword [esp + 0x20], eax
mov ebp, dword [ebx + 0x14]
cmp ebp, 0x400
jae 0x42e85c
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42e790
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [ebx + 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 0x42e835
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42e80f
sub eax, 1
je 0x42e7ed
sub eax, 1
je 0x42e7cb
sub eax, 1
jne 0x42e82e
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
lea eax, [ebp + 1]
mov ecx, dword [ebx + ebp*4 + 0x1c]
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
xor ebp, ebp
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42e874
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov edx, dword [ebx + 0x101c]
mov ebp, dword [ebx + 0x18]
cmp dword [0x5192d4], 0
je 0x42e883
lzcnt ecx, edx
jmp 0x42e894
test edx, edx
jne 0x42e88c
push 0x20
pop ecx
jmp 0x42e894
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x20], ecx
cmp ecx, 0x20
jae 0x42e6f3
shl edx, cl
add ebp, ecx
mov ecx, dword [esp + 0x3c]
mov eax, edx
shr eax, cl
mov dword [esp + 0x38], eax
cmp ebp, ecx
ja 0x42e8c5
mov eax, dword [esp + 0x18]
inc eax
mov ecx, eax
shl edx, cl
add ebp, eax
jmp 0x42ea72
sub ebp, ecx
mov dword [esp + 0x38], eax
cmp dword [ebx + 0x14], 0x400
mov dword [esp + 0x40], ebp
jae 0x42ea36
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42e96b
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [esp + 0x40]
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 0x42ea10
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42e9ea
sub eax, 1
je 0x42e9c8
sub eax, 1
je 0x42e9a6
sub eax, 1
jne 0x42ea09
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + eax*4 + 0x1c]
inc eax
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42ea5d
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov ecx, dword [ebx + 0x18]
push 0x20
pop eax
sub eax, ecx
cmp ebp, eax
ja 0x4304c7
mov edx, dword [ebx + 0x101c]
add ebp, ecx
push 0x20
pop ecx
sub ecx, dword [esp + 0x40]
mov eax, edx
shr eax, cl
mov ecx, dword [esp + 0x40]
shl edx, cl
or dword [esp + 0x38], eax
cmp dword [0x5192d4], 0
mov dword [ebx + 0x101c], edx
mov dword [ebx + 0x18], ebp
je 0x42ea8a
lzcnt ecx, edx
jmp 0x42ea9b
test edx, edx
jne 0x42ea93
push 0x20
pop ecx
jmp 0x42ea9b
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
cmp ecx, 0x20
jae 0x42eaa9
mov dword [esp + 0x1c], ecx
jmp 0x42ec60
push 0x20
pop eax
sub eax, ebp
mov dword [esp + 0x1c], eax
mov ebp, dword [ebx + 0x14]
cmp ebp, 0x400
jae 0x42ec1b
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42eb4f
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [ebx + 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 0x42ebf4
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42ebce
sub eax, 1
je 0x42ebac
sub eax, 1
je 0x42eb8a
sub eax, 1
jne 0x42ebed
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
lea eax, [ebp + 1]
mov ecx, dword [ebx + ebp*4 + 0x1c]
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
xor ebp, ebp
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42ec33
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov edx, dword [ebx + 0x101c]
mov ebp, dword [ebx + 0x18]
cmp dword [0x5192d4], 0
je 0x42ec42
lzcnt ecx, edx
jmp 0x42ec53
test edx, edx
jne 0x42ec4b
push 0x20
pop ecx
jmp 0x42ec53
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x1c], ecx
cmp ecx, 0x20
jae 0x42eab2
shl edx, cl
add ebp, ecx
mov ecx, dword [esp + 0x3c]
mov eax, edx
shr eax, cl
mov dword [esp + 0x34], eax
cmp ebp, ecx
ja 0x42ec84
mov eax, dword [esp + 0x18]
inc eax
mov ecx, eax
shl edx, cl
add ebp, eax
jmp 0x42ee31
sub ebp, ecx
mov dword [esp + 0x34], eax
cmp dword [ebx + 0x14], 0x400
mov dword [esp + 0x40], ebp
jae 0x42edf5
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42ed2a
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [esp + 0x40]
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 0x42edcf
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42eda9
sub eax, 1
je 0x42ed87
sub eax, 1
je 0x42ed65
sub eax, 1
jne 0x42edc8
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + eax*4 + 0x1c]
inc eax
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42ee1c
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov ecx, dword [ebx + 0x18]
push 0x20
pop eax
sub eax, ecx
cmp ebp, eax
ja 0x4304c7
mov edx, dword [ebx + 0x101c]
add ebp, ecx
push 0x20
pop ecx
sub ecx, dword [esp + 0x40]
mov eax, edx
shr eax, cl
mov ecx, dword [esp + 0x40]
shl edx, cl
or dword [esp + 0x34], eax
cmp dword [0x5192d4], 0
mov dword [ebx + 0x101c], edx
mov dword [ebx + 0x18], ebp
je 0x42ee49
lzcnt ecx, edx
jmp 0x42ee5a
test edx, edx
jne 0x42ee52
push 0x20
pop ecx
jmp 0x42ee5a
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
cmp ecx, 0x20
jae 0x42ee68
mov dword [esp + 0x28], ecx
jmp 0x42f01f
push 0x20
pop eax
sub eax, ebp
mov dword [esp + 0x28], eax
mov ebp, dword [ebx + 0x14]
cmp ebp, 0x400
jae 0x42efda
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42ef0e
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [ebx + 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 0x42efb3
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42ef8d
sub eax, 1
je 0x42ef6b
sub eax, 1
je 0x42ef49
sub eax, 1
jne 0x42efac
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
lea eax, [ebp + 1]
mov ecx, dword [ebx + ebp*4 + 0x1c]
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
xor ebp, ebp
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42eff2
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov edx, dword [ebx + 0x101c]
mov ebp, dword [ebx + 0x18]
cmp dword [0x5192d4], 0
je 0x42f001
lzcnt ecx, edx
jmp 0x42f012
test edx, edx
jne 0x42f00a
push 0x20
pop ecx
jmp 0x42f012
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x28], ecx
cmp ecx, 0x20
jae 0x42ee71
shl edx, cl
add ebp, ecx
mov ecx, dword [esp + 0x3c]
mov eax, edx
shr eax, cl
mov dword [esp + 0x2c], eax
cmp ebp, ecx
ja 0x42f043
mov eax, dword [esp + 0x18]
inc eax
mov ecx, eax
shl edx, cl
add ebp, eax
jmp 0x42f1f8
sub ebp, ecx
mov dword [esp + 0x7c], eax
cmp dword [ebx + 0x14], 0x400
mov dword [esp + 0x40], ebp
jae 0x42f1b4
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42f0e9
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [esp + 0x40]
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 0x42f18e
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42f168
sub eax, 1
je 0x42f146
sub eax, 1
je 0x42f124
sub eax, 1
jne 0x42f187
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + eax*4 + 0x1c]
inc eax
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42f1db
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov ecx, dword [ebx + 0x18]
push 0x20
pop eax
sub eax, ecx
cmp ebp, eax
ja 0x4304c7
mov edx, dword [ebx + 0x101c]
add ebp, ecx
mov eax, dword [esp + 0x7c]
push 0x20
pop ecx
sub ecx, dword [esp + 0x40]
mov dword [esp + 0x2c], edx
shr dword [esp + 0x2c], cl
mov ecx, dword [esp + 0x40]
shl edx, cl
or dword [esp + 0x2c], eax
cmp dword [0x5192d4], 0
mov dword [ebx + 0x101c], edx
mov dword [ebx + 0x18], ebp
je 0x42f210
lzcnt ecx, edx
jmp 0x42f221
test edx, edx
jne 0x42f219
push 0x20
pop ecx
jmp 0x42f221
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
cmp ecx, 0x20
jae 0x42f22f
mov dword [esp + 0x30], ecx
jmp 0x42f3e6
push 0x20
pop eax
sub eax, ebp
mov dword [esp + 0x30], eax
mov ebp, dword [ebx + 0x14]
cmp ebp, 0x400
jae 0x42f3a1
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42f2d5
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [ebx + 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 0x42f37a
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42f354
sub eax, 1
je 0x42f332
sub eax, 1
je 0x42f310
sub eax, 1
jne 0x42f373
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
lea eax, [ebp + 1]
mov ecx, dword [ebx + ebp*4 + 0x1c]
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
xor ebp, ebp
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42f3b9
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov edx, dword [ebx + 0x101c]
mov ebp, dword [ebx + 0x18]
cmp dword [0x5192d4], 0
je 0x42f3c8
lzcnt ecx, edx
jmp 0x42f3d9
test edx, edx
jne 0x42f3d1
push 0x20
pop ecx
jmp 0x42f3d9
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x30], ecx
cmp ecx, 0x20
jae 0x42f238
shl edx, cl
add ebp, ecx
mov ecx, dword [esp + 0x3c]
mov eax, edx
shr eax, cl
mov dword [esp + 0x40], eax
cmp ebp, ecx
ja 0x42f40a
mov eax, dword [esp + 0x18]
inc eax
mov ecx, eax
shl edx, cl
add ebp, eax
jmp 0x42f5bb
sub ebp, ecx
mov dword [esp + 0x7c], eax
cmp dword [ebx + 0x14], 0x400
mov dword [esp + 0x40], ebp
jae 0x42f57b
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42f4b0
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [esp + 0x40]
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 0x42f555
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42f52f
sub eax, 1
je 0x42f50d
sub eax, 1
je 0x42f4eb
sub eax, 1
jne 0x42f54e
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + eax*4 + 0x1c]
inc eax
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42f5a2
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov ecx, dword [ebx + 0x18]
push 0x20
pop eax
sub eax, ecx
cmp ebp, eax
ja 0x4304c7
mov edx, dword [ebx + 0x101c]
add ebp, ecx
push 0x20
pop ecx
sub ecx, dword [esp + 0x40]
mov eax, edx
shr eax, cl
mov ecx, dword [esp + 0x40]
shl edx, cl
or eax, dword [esp + 0x7c]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0x101c], edx
mov edx, dword [esp + 0x20]
shl edx, cl
mov dword [ebx + 0x18], ebp
mov ebp, dword [esp + 0x24]
mov eax, ebp
and eax, dword [esp + 0x38]
and ebp, dword [esp + 0x34]
or edx, eax
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x2c]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x1c]
shl edx, cl
or edx, ebp
mov ebp, dword [esp + 0x28]
shl ebp, cl
or ebp, eax
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x40]
and eax, dword [esp + 0x24]
shl edx, cl
mov ecx, dword [esp + 0x20]
or edx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
xor ecx, dword [esp + eax*4 + 0x88]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x1c]
mov eax, ecx
and eax, 1
shr ecx, 1
xor ecx, dword [esp + eax*4 + 0x88]
mov eax, ebp
and eax, 1
shr ebp, 1
mov dword [esp + 0x1c], ecx
xor ebp, dword [esp + eax*4 + 0x88]
mov eax, edx
and eax, 1
shr edx, 1
mov dword [esp + 0x28], ebp
xor edx, dword [esp + eax*4 + 0x88]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x30], edx
xor edx, edx
dec eax
mov dword [esp + 0x2c], eax
cmp eax, 0x1f
ja case.default.0x42f675
jmp dword [eax*4 + 0x4304ce]
mov edx, dword [edi + 0x7c]
imul edx, dword [esi - 0x80]
mov eax, dword [edi + 0x78]
imul eax, dword [esi - 0x7c]
add edx, eax
mov eax, dword [edi + 0x74]
imul eax, dword [esi - 0x78]
add edx, eax
mov eax, dword [edi + 0x70]
imul eax, dword [esi - 0x74]
add edx, eax
mov eax, dword [edi + 0x6c]
imul eax, dword [esi - 0x70]
add edx, eax
mov eax, dword [edi + 0x68]
imul eax, dword [esi - 0x6c]
add edx, eax
mov eax, dword [edi + 0x64]
imul eax, dword [esi - 0x68]
add edx, eax
mov eax, dword [edi + 0x60]
imul eax, dword [esi - 0x64]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [esi - 0x60]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [esi - 0x5c]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [esi - 0x58]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [esi - 0x54]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [esi - 0x50]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [esi - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [esi - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [esi - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [esi - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [esi - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [esi - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [esi - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [esi - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [esi - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [esi - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [esi - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [esi - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [esi - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [esi - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [esi - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [esi - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [esi - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [esi - 8]
add edx, eax
mov eax, dword [esi - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x20]
sar edx, cl
add ebp, edx
xor edx, edx
mov dword [esi], ebp
cmp eax, 0x1f
ja case.default.0x42f7dd
mov ebx, dword [esp + 0x2c]
mov ecx, ebp
mov dword [esp + 0x40], ebp
mov eax, ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
jmp dword [ebx*4 + 0x43054e]
mov edx, dword [edi + 0x7c]
imul edx, dword [esi - 0x7c]
mov eax, dword [edi + 0x78]
imul eax, dword [esi - 0x78]
add edx, eax
mov eax, dword [edi + 0x74]
imul eax, dword [esi - 0x74]
add edx, eax
mov eax, dword [edi + 0x70]
imul eax, dword [esi - 0x70]
add edx, eax
mov eax, dword [edi + 0x6c]
imul eax, dword [esi - 0x6c]
add edx, eax
mov eax, dword [edi + 0x68]
imul eax, dword [esi - 0x68]
add edx, eax
mov eax, dword [edi + 0x64]
imul eax, dword [esi - 0x64]
add edx, eax
mov eax, dword [edi + 0x60]
imul eax, dword [esi - 0x60]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [esi - 0x5c]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [esi - 0x58]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [esi - 0x54]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [esi - 0x50]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [esi - 0x4c]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [esi - 0x48]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [esi - 0x44]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [esi - 0x40]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [esi - 0x3c]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [esi - 0x38]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [esi - 0x34]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [esi - 0x30]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [esi - 0x2c]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [esi - 0x28]
add edx, eax
mov eax, dword [edi + 0x24]
mov ecx, ebp
imul eax, dword [esi - 0x24]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [esi - 0x20]
mov dword [esp + 0x40], ecx
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [esi - 0x1c]
add edx, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x18]
imul eax, dword [esi - 0x18]
add edx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x14]
imul eax, dword [esi - 0x14]
add edx, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
imul eax, dword [esi - 0x10]
add edx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xc]
imul eax, dword [esi - 0xc]
add edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov eax, dword [edi + 8]
imul eax, dword [esi - 8]
add edx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x48], eax
mov eax, dword [edi + 4]
imul eax, dword [esi - 4]
add edx, eax
mov eax, dword [esp + 0x48]
mov ebp, eax
mov eax, dword [edi]
imul eax, ebp
add edx, eax
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
sar edx, cl
add eax, edx
xor edx, edx
cmp dword [esp + 0x2c], 0x1f
mov dword [esp + 0x1c], eax
mov dword [esi + 4], eax
ja case.default.0x42f9b5
mov dword [esp + 0x40], eax
mov ecx, ebp
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x7c], ebp
jmp dword [eax*4 + 0x4305ce]
mov edx, dword [edi + 0x7c]
imul edx, dword [esi - 0x78]
mov eax, dword [edi + 0x78]
imul eax, dword [esi - 0x74]
add edx, eax
mov eax, dword [edi + 0x74]
imul eax, dword [esi - 0x70]
add edx, eax
mov eax, dword [edi + 0x70]
imul eax, dword [esi - 0x6c]
add edx, eax
mov eax, dword [edi + 0x6c]
imul eax, dword [esi - 0x68]
add edx, eax
mov eax, dword [edi + 0x68]
imul eax, dword [esi - 0x64]
add edx, eax
mov eax, dword [edi + 0x64]
imul eax, dword [esi - 0x60]
add edx, eax
mov eax, dword [edi + 0x60]
imul eax, dword [esi - 0x5c]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [esi - 0x58]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [esi - 0x54]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [esi - 0x50]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [esi - 0x4c]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [esi - 0x48]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [esi - 0x44]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [esi - 0x40]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [esi - 0x3c]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [esi - 0x38]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [esi - 0x34]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [esi - 0x30]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [esi - 0x2c]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [esi - 0x28]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [esi - 0x24]
add edx, eax
mov eax, dword [esi]
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x24]
imul eax, dword [esi - 0x20]
add edx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x20]
imul eax, dword [esi - 0x1c]
add edx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x1c]
imul eax, dword [esi - 0x18]
add edx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x18]
imul eax, dword [esi - 0x14]
add edx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x14]
imul eax, dword [esi - 0x10]
add edx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x58], eax
mov eax, dword [edi + 0x10]
imul eax, dword [esi - 0xc]
add edx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x60], eax
mov eax, dword [edi + 0xc]
imul eax, dword [esi - 8]
add edx, eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x68], eax
mov eax, dword [edi + 8]
imul eax, dword [esi - 4]
mov ecx, dword [esp + 0x64]
add edx, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x70], eax
mov eax, dword [edi + 4]
imul eax, ecx
mov dword [esp + 0x7c], ecx
add edx, eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x78], eax
mov eax, dword [edi]
mov ecx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
imul eax, ecx
mov dword [esp + 0x1c], ecx
add edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xa0]
sar edx, cl
mov ecx, dword [esp + 0x28]
add ecx, edx
xor edx, edx
mov dword [esp + 0x14], ecx
mov dword [esi + 8], ecx
cmp eax, 0x1f
ja case.default.0x42fb95
jmp dword [eax*4 + 0x43064e]
mov edx, dword [edi + 0x7c]
imul edx, dword [esi - 0x74]
mov eax, dword [edi + 0x78]
imul eax, dword [esi - 0x70]
add edx, eax
mov eax, dword [edi + 0x74]
imul eax, dword [esi - 0x6c]
add edx, eax
mov eax, dword [edi + 0x70]
imul eax, dword [esi - 0x68]
add edx, eax
mov eax, dword [edi + 0x6c]
imul eax, dword [esi - 0x64]
add edx, eax
mov eax, dword [edi + 0x68]
imul eax, dword [esi - 0x60]
add edx, eax
mov eax, dword [edi + 0x64]
imul eax, dword [esi - 0x5c]
add edx, eax
mov eax, dword [edi + 0x60]
imul eax, dword [esi - 0x58]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [esi - 0x54]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [esi - 0x50]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [esi - 0x4c]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [esi - 0x48]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [esi - 0x44]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [esi - 0x40]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [esi - 0x3c]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [esi - 0x38]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [esi - 0x34]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [esi - 0x30]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [esi - 0x2c]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [esi - 0x28]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [esi - 0x24]
mov ebp, dword [esi]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [esi - 0x20]
mov ecx, dword [esi + 4]
add edx, eax
jmp 0x42fc6b
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x24]
imul eax, dword [esi - 0x1c]
add edx, eax
mov eax, dword [esi + 8]
mov dword [esp + 0x14], eax
jmp 0x42fc81
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x20]
imul eax, dword [esi - 0x18]
add edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
jmp 0x42fc98
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x1c]
imul eax, dword [esi - 0x14]
add edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
jmp 0x42fcaf
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x18]
imul eax, dword [esi - 0x10]
add edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
jmp 0x42fcc6
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x14]
imul eax, dword [esi - 0xc]
add edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
jmp 0x42fcdd
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x10]
imul eax, dword [esi - 8]
add edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
jmp 0x42fcf4
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0xc]
imul eax, dword [esi - 4]
add edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
jmp 0x42fd0b
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 8]
imul eax, ebp
add edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
jmp 0x42fd21
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 4]
imul eax, ecx
mov ecx, dword [esp + 0x14]
add edx, eax
mov eax, dword [edi]
imul eax, ecx
add edx, eax
mov ecx, dword [esp + 0xa0]
sar edx, cl
add edx, dword [esp + 0x30]
mov dword [esi + 0xc], edx
add esi, 0x10
mov dword [esp + 0x1c], esi
cmp esi, dword [esp + 0x80]
jb 0x42e6b3
mov eax, dword [esp + 0x94]
and eax, 0xfffffffc
mov dword [esp + 0x80], eax
cmp eax, dword [esp + 0x94]
jae 0x4304b9
mov ecx, dword [esp + 0x18]
push 0x20
inc ecx
pop eax
sub eax, ecx
mov dword [esp + 0x7c], eax
cmp dword [0x5192d4], 0
mov edx, dword [ebx + 0x101c]
mov ebp, dword [ebx + 0x18]
je 0x42fd9c
lzcnt ecx, edx
jmp 0x42fdad
test edx, edx
jne 0x42fda5
push 0x20
pop ecx
jmp 0x42fdad
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
cmp ecx, 0x20
jae 0x42fdbb
mov dword [esp + 0x30], ecx
jmp 0x42ff72
push 0x20
pop eax
sub eax, ebp
mov dword [esp + 0x30], eax
mov ebp, dword [ebx + 0x14]
cmp ebp, 0x400
jae 0x42ff2d
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x42fe61
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [ebx + 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 0x42ff06
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x42fee0
sub eax, 1
je 0x42febe
sub eax, 1
je 0x42fe9c
sub eax, 1
jne 0x42feff
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov word [ebx + 0x1020], ax
lea eax, [ebp + 1]
mov ecx, dword [ebx + ebp*4 + 0x1c]
push ecx
mov dword [ebx + 0x14], eax
call fcn.0044d5b3
mov edx, eax
xor ebp, ebp
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x42ff45
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov edx, dword [ebx + 0x101c]
mov ebp, dword [ebx + 0x18]
cmp dword [0x5192d4], 0
je 0x42ff54
lzcnt ecx, edx
jmp 0x42ff65
test edx, edx
jne 0x42ff5d
push 0x20
pop ecx
jmp 0x42ff65
bsr eax, edx
push 0x1f
pop ecx
sub ecx, eax
add dword [esp + 0x30], ecx
cmp ecx, 0x20
jae 0x42fdc4
shl edx, cl
add ebp, ecx
mov ecx, dword [esp + 0x7c]
mov eax, edx
shr eax, cl
cmp ebp, ecx
ja 0x42ff94
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
inc ecx
shl edx, cl
add ebp, ecx
jmp 0x430155
sub ebp, ecx
mov dword [esp + 0x70], eax
push 0x14
mov eax, ebx
mov dword [esp + 0x44], ebp
pop ecx
mov eax, dword [ecx + eax]
mov dword [esp + 0x78], eax
cmp eax, 0x400
jae 0x430119
mov ecx, dword [ebx + 0x1028]
mov eax, dword [ebx + 0x1024]
movzx edx, word [ebx + 0x1020]
test ecx, ecx
jne 0x430044
mov ebp, dword [ebx + 0x1024]
mov ecx, edx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebp
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, ebp
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, ebp
mov ebp, dword [esp + 0x40]
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 0x4300e9
push 4
pop eax
sub eax, ecx
sub eax, 1
je 0x4300c3
sub eax, 1
je 0x4300a1
sub eax, 1
je 0x43007f
sub eax, 1
jne 0x4300e2
mov eax, dword [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 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 [ebx + 0x1028], 0
movzx eax, dx
mov edx, ebx
mov word [ebx + 0x1020], ax
mov eax, dword [esp + 0x78]
push 0x14
pop esi
mov ecx, dword [ebx + eax*4 + 0x1c]
inc eax
push ecx
mov dword [esi + edx], eax
call fcn.0044d5b3
mov esi, dword [esp + 0x20]
mov edx, eax
pop ecx
mov dword [ebx + 0x1024], edx
jmp 0x430140
mov ecx, ebx
call fcn.0042c2f5
test eax, eax
je 0x4304c7
mov ecx, dword [ebx + 0x18]
push 0x20
pop eax
sub eax, ecx
cmp ebp, eax
ja 0x4304c7
mov edx, dword [ebx + 0x101c]
add ebp, ecx
push 0x20
pop ecx
sub ecx, dword [esp + 0x40]
mov eax, edx
shr eax, cl
mov ecx, dword [esp + 0x40]
shl edx, cl
or eax, dword [esp + 0x70]
and eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0x101c], edx
mov edx, dword [esp + 0x30]
shl edx, cl
or edx, eax
mov dword [ebx + 0x18], ebp
mov ebp, dword [esp + 0x9c]
mov eax, edx
and eax, 1
shr edx, 1
mov ecx, ebp
xor edx, dword [esp + eax*4 + 0x88]
xor eax, eax
mov dword [esp + 0x30], edx
inc eax
shr ecx, 1
jne 0x43018b
add eax, dword [esp + 0x84]
add eax, dword [esp + 0xa4]
cmp eax, 0x20
jbe 0x430353
cmp ebp, 8
jne 0x4301bb
mov eax, dword [edi + 0x1c]
imul dword [esi - 0x20]
mov ecx, eax
mov ebp, edx
jmp 0x4302b0
cmp ebp, 7
jne 0x4301cf
mov eax, dword [edi + 0x18]
imul dword [esi - 0x1c]
mov ecx, eax
mov ebp, edx
jmp 0x4302ba
cmp ebp, 3
jne 0x4301e3
mov eax, dword [edi + 8]
imul dword [esi - 0xc]
mov ecx, eax
mov ebp, edx
jmp 0x4302e2
cmp ebp, 6
jne 0x4301f7
mov eax, dword [edi + 0x14]
imul dword [esi - 0x18]
mov ecx, eax
mov ebp, edx
jmp 0x4302c4
cmp ebp, 5
jne 0x43020b
mov eax, dword [edi + 0x10]
imul dword [esi - 0x14]
mov ecx, eax
mov ebp, edx
jmp 0x4302ce
cmp ebp, 4
jne 0x43021f
mov eax, dword [edi + 0xc]
imul dword [esi - 0x10]
mov ecx, eax
mov ebp, edx
jmp 0x4302d8
cmp ebp, 0xc
jne 0x43023a
mov eax, dword [edi + 0x2c]
imul dword [esi - 0x30]
mov ecx, eax
mov ebp, edx
mov eax, dword [edi + 0x28]
imul dword [esi - 0x2c]
add ecx, eax
adc ebp, edx
jmp 0x430292
cmp ebp, 2
jne 0x43024e
mov eax, dword [edi + 4]
imul dword [esi - 8]
mov ecx, eax
mov ebp, edx
jmp 0x4302ec
cmp ebp, 1
jne 0x430261
mov eax, dword [edi]
imul dword [esi - 4]
mov ecx, eax
mov ebp, edx
jmp 0x43033c
cmp ebp, 0xa
jne 0x430272
mov eax, dword [edi + 0x24]
imul dword [esi - 0x28]
mov ecx, eax
mov ebp, edx
jmp 0x43029c
cmp ebp, 9
jne 0x430283
mov eax, dword [edi + 0x20]
imul dword [esi - 0x24]
mov ecx, eax
mov ebp, edx
jmp 0x4302a6
cmp ebp, 0xb
jne 0x4302f7
mov eax, dword [edi + 0x28]
imul dword [esi - 0x2c]
mov ecx, eax
mov ebp, edx
mov eax, dword [edi + 0x24]
imul dword [esi - 0x28]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x20]
imul dword [esi - 0x24]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x1c]
imul dword [esi - 0x20]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x18]
imul dword [esi - 0x1c]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x14]
imul dword [esi - 0x18]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0x10]
imul dword [esi - 0x14]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 0xc]
imul dword [esi - 0x10]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 8]
imul dword [esi - 0xc]
add ecx, eax
adc ebp, edx
mov eax, dword [edi + 4]
imul dword [esi - 8]
add ecx, eax
adc ebp, edx
mov eax, dword [edi]
imul dword [esi - 4]
add ecx, eax
adc ebp, edx
jmp 0x43033c
and dword [esp + 0x78], 0
xorps xmm0, xmm0
movlpd qword [esp + 0x68], xmm0
test ebp, ebp
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x6c]
jle 0x43033c
mov ebx, dword [esp + 0x78]
lea eax, [esi - 4]
mov dword [esp + 0x70], eax
mov esi, eax
mov eax, dword [edi + ebx*4]
imul dword [esi]
lea esi, [esi - 4]
add ecx, eax
adc ebp, edx
inc ebx
cmp ebx, dword [esp + 0x9c]
jl 0x43031e
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov eax, ecx
mov edx, ebp
mov ecx, dword [esp + 0xa0]
call fcn.004604f0
mov edx, eax
jmp 0x43048e
lea eax, [ebp - 1]
xor edx, edx
cmp eax, 0x1f
ja case.default.0x430361
jmp dword [eax*4 + 0x4306ce]
mov edx, dword [edi + 0x7c]
imul edx, dword [esi - 0x80]
mov eax, dword [edi + 0x78]
imul eax, dword [esi - 0x7c]
add edx, eax
mov eax, dword [edi + 0x74]
imul eax, dword [esi - 0x78]
add edx, eax
mov eax, dword [edi + 0x70]
imul eax, dword [esi - 0x74]
add edx, eax
mov eax, dword [edi + 0x6c]
imul eax, dword [esi - 0x70]
add edx, eax
mov eax, dword [edi + 0x68]
imul eax, dword [esi - 0x6c]
add edx, eax
mov eax, dword [edi + 0x64]
imul eax, dword [esi - 0x68]
add edx, eax
mov eax, dword [edi + 0x60]
imul eax, dword [esi - 0x64]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [esi - 0x60]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [esi - 0x5c]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [esi - 0x58]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [esi - 0x54]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [esi - 0x50]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [esi - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [esi - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [esi - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [esi - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [esi - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [esi - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [esi - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [esi - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [esi - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [esi - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [esi - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [esi - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [esi - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [esi - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [esi - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [esi - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [esi - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [esi - 8]
add edx, eax
mov eax, dword [esi - 4]
imul eax, dword [edi]
add edx, eax
mov ecx, dword [esp + 0xa0]
sar edx, cl
mov eax, dword [esp + 0x30]
add eax, edx
mov dword [esi], eax
add esi, 4
mov eax, dword [esp + 0x80]
inc eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x80], eax
cmp eax, dword [esp + 0x94]
jb 0x42fd84
xor eax, eax
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
xor eax, eax
jmp 0x4304bc