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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov edx, dword [ebp + 0x18]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xffffffff
push ebx
mov ebx, dword [ebp + 0x28]
mov dword [ebp - 4], ebx
test edx, edx
jne 0x5971a3
push ebx
push dword [ebp + 0x24]
push dword [ebp + 0x1c]
push edx
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0059bc40
add esp, 0x20
pop ebx
mov esp, ebp
pop ebp
ret
movzx ecx, byte [ebp + 0x14]
or eax, 0xffffffff
shl eax, cl
not eax
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x18], eax
mov ecx, edx
mov eax, dword [ebp + 0x10]
and eax, 0xfffffffc
push esi
lea esi, [ebx + eax*4]
xor eax, eax
mov dword [ebp - 0x38], esi
test edx, edx
je 0x5971d5
lea esp, [esp]
inc eax
shr ecx, 1
jne 0x5971d0
add eax, dword [ebp + 0xc]
add eax, dword [ebp + 0x20]
cmp ebx, esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x24]
jae 0x59b0b7
mov ecx, dword [ebp - 0xc]
inc ecx
cmp eax, 0x20
mov eax, 0x20
jbe 0x5989eb
sub eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x597210
cmp dword [0x67c4c8], 0
mov edx, dword [esi + 0x101c]
mov ebx, dword [esi + 0x18]
je 0x597228
lzcnt ecx, edx
jmp 0x59723b
test edx, edx
jne 0x597231
lea ecx, [edx + 0x20]
jmp 0x59723b
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
cmp ecx, 0x20
jae 0x597248
mov dword [ebp - 8], ecx
jmp 0x5973db
mov eax, 0x20
sub eax, ebx
mov dword [ebp - 8], eax
cmp dword [esi + 0x14], 0x400
jae 0x597393
mov ecx, dword [esi + 0x1028]
movzx eax, word [esi + 0x1020]
mov ebx, dword [esi + 0x1024]
mov edx, eax
test ecx, ecx
jne 0x5972e6
mov ecx, edx
mov eax, ebx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebx
shr eax, 0x10
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, ebx
shr eax, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
movzx eax, bl
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x597372
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x5972f2
jmp dword [eax*4 + 0x59b894]
mov ecx, edx
mov eax, ebx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov eax, ebx
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov eax, ebx
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, dx
shr ecx, 8
movzx eax, bl
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
xor ebx, ebx
mov dword [esi + 0x1024], edx
jmp 0x5973ad
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov edx, dword [esi + 0x101c]
mov ebx, dword [esi + 0x18]
cmp dword [0x67c4c8], 0
je 0x5973bc
lzcnt ecx, edx
jmp 0x5973cf
test edx, edx
jne 0x5973c5
lea ecx, [edx + 0x20]
jmp 0x5973cf
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
add dword [ebp - 8], ecx
cmp ecx, 0x20
jae 0x597252
shl edx, cl
add ebx, ecx
mov ecx, dword [ebp - 0x24]
mov eax, edx
shr eax, cl
mov dword [ebp - 0x10], eax
cmp ebx, ecx
ja 0x5973fc
mov eax, dword [ebp - 0xc]
inc eax
mov ecx, eax
shl edx, cl
add ebx, eax
jmp 0x5975a2
sub ebx, ecx
mov dword [ebp - 0x10], eax
cmp dword [esi + 0x14], 0x400
mov dword [ebp - 0x34], ebx
jae 0x597563
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x5974a2
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x597544
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x5974b2
jmp dword [eax*4 + 0x59b8a4]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
mov dword [esi + 0x1024], edx
jmp 0x59758e
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov ecx, dword [esi + 0x18]
mov eax, 0x20
sub eax, ecx
cmp ebx, eax
ja 0x59b888
mov edx, dword [esi + 0x101c]
add ebx, ecx
mov ecx, 0x20
mov eax, edx
sub ecx, dword [ebp - 0x34]
shr eax, cl
mov ecx, dword [ebp - 0x34]
shl edx, cl
or dword [ebp - 0x10], eax
cmp dword [0x67c4c8], 0
mov dword [esi + 0x101c], edx
mov dword [esi + 0x18], ebx
je 0x5975ba
lzcnt ecx, edx
jmp 0x5975cd
test edx, edx
jne 0x5975c3
lea ecx, [edx + 0x20]
jmp 0x5975cd
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
cmp ecx, 0x20
jae 0x5975da
mov dword [ebp - 0x28], ecx
jmp 0x597779
mov eax, 0x20
sub eax, ebx
mov dword [ebp - 0x28], eax
jmp 0x5975f0
cmp dword [esi + 0x14], 0x400
jae 0x597731
mov ecx, dword [esi + 0x1028]
movzx eax, word [esi + 0x1020]
mov ebx, dword [esi + 0x1024]
mov edx, eax
test ecx, ecx
jne 0x597684
mov ecx, edx
mov eax, ebx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebx
shr eax, 0x10
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, ebx
shr eax, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
movzx eax, bl
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x597710
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x597690
jmp dword [eax*4 + 0x59b8b4]
mov ecx, edx
mov eax, ebx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov eax, ebx
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov eax, ebx
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, dx
shr ecx, 8
movzx eax, bl
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
xor ebx, ebx
mov dword [esi + 0x1024], edx
jmp 0x59774b
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov edx, dword [esi + 0x101c]
mov ebx, dword [esi + 0x18]
cmp dword [0x67c4c8], 0
je 0x59775a
lzcnt ecx, edx
jmp 0x59776d
test edx, edx
jne 0x597763
lea ecx, [edx + 0x20]
jmp 0x59776d
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
add dword [ebp - 0x28], ecx
cmp ecx, 0x20
jae 0x5975f0
shl edx, cl
add ebx, ecx
mov ecx, dword [ebp - 0x24]
mov eax, edx
shr eax, cl
mov dword [ebp - 0x14], eax
cmp ebx, ecx
ja 0x59779a
mov eax, dword [ebp - 0xc]
inc eax
mov ecx, eax
shl edx, cl
add ebx, eax
jmp 0x597948
sub ebx, ecx
mov dword [ebp - 0x30], eax
cmp dword [esi + 0x14], 0x400
mov dword [ebp - 0x34], ebx
jae 0x597901
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x597840
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x5978e2
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x597850
jmp dword [eax*4 + 0x59b8c4]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
mov dword [esi + 0x1024], edx
jmp 0x59792c
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov ecx, dword [esi + 0x18]
mov eax, 0x20
sub eax, ecx
cmp ebx, eax
ja 0x59b888
mov edx, dword [esi + 0x101c]
add ebx, ecx
mov ecx, 0x20
mov dword [ebp - 0x14], edx
sub ecx, dword [ebp - 0x34]
shr dword [ebp - 0x14], cl
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x34]
shl edx, cl
or eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
cmp dword [0x67c4c8], 0
mov dword [esi + 0x101c], edx
mov dword [esi + 0x18], ebx
je 0x597960
lzcnt ecx, edx
jmp 0x597973
test edx, edx
jne 0x597969
lea ecx, [edx + 0x20]
jmp 0x597973
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
cmp ecx, 0x20
jae 0x597980
mov dword [ebp - 0x2c], ecx
jmp 0x597b19
mov eax, 0x20
sub eax, ebx
mov dword [ebp - 0x2c], eax
lea ebx, [ebx]
cmp dword [esi + 0x14], 0x400
jae 0x597ad1
mov ecx, dword [esi + 0x1028]
movzx eax, word [esi + 0x1020]
mov ebx, dword [esi + 0x1024]
mov edx, eax
test ecx, ecx
jne 0x597a24
mov ecx, edx
mov eax, ebx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebx
shr eax, 0x10
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, ebx
shr eax, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
movzx eax, bl
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x597ab0
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x597a30
jmp dword [eax*4 + 0x59b8d4]
mov ecx, edx
mov eax, ebx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov eax, ebx
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov eax, ebx
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, dx
shr ecx, 8
movzx eax, bl
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
xor ebx, ebx
mov dword [esi + 0x1024], edx
jmp 0x597aeb
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov edx, dword [esi + 0x101c]
mov ebx, dword [esi + 0x18]
cmp dword [0x67c4c8], 0
je 0x597afa
lzcnt ecx, edx
jmp 0x597b0d
test edx, edx
jne 0x597b03
lea ecx, [edx + 0x20]
jmp 0x597b0d
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
add dword [ebp - 0x2c], ecx
cmp ecx, 0x20
jae 0x597990
shl edx, cl
add ebx, ecx
mov ecx, dword [ebp - 0x24]
mov eax, edx
shr eax, cl
mov dword [ebp - 0x1c], eax
cmp ebx, ecx
ja 0x597b3a
mov eax, dword [ebp - 0xc]
inc eax
mov ecx, eax
shl edx, cl
add ebx, eax
jmp 0x597ce0
sub ebx, ecx
mov dword [ebp - 0x1c], eax
cmp dword [esi + 0x14], 0x400
mov dword [ebp - 0x34], ebx
jae 0x597ca1
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x597be0
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x597c82
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x597bf0
jmp dword [eax*4 + 0x59b8e4]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
mov dword [esi + 0x1024], edx
jmp 0x597ccc
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov ecx, dword [esi + 0x18]
mov eax, 0x20
sub eax, ecx
cmp ebx, eax
ja 0x59b888
mov edx, dword [esi + 0x101c]
add ebx, ecx
mov ecx, 0x20
mov eax, edx
sub ecx, dword [ebp - 0x34]
shr eax, cl
mov ecx, dword [ebp - 0x34]
shl edx, cl
or dword [ebp - 0x1c], eax
cmp dword [0x67c4c8], 0
mov dword [esi + 0x101c], edx
mov dword [esi + 0x18], ebx
je 0x597cf8
lzcnt ecx, edx
jmp 0x597d0b
test edx, edx
jne 0x597d01
lea ecx, [edx + 0x20]
jmp 0x597d0b
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
cmp ecx, 0x20
jae 0x597d18
mov dword [ebp - 0x20], ecx
jmp 0x597eab
mov eax, 0x20
sub eax, ebx
mov dword [ebp - 0x20], eax
cmp dword [esi + 0x14], 0x400
jae 0x597e63
mov ecx, dword [esi + 0x1028]
movzx eax, word [esi + 0x1020]
mov ebx, dword [esi + 0x1024]
mov edx, eax
test ecx, ecx
jne 0x597db6
mov ecx, edx
mov eax, ebx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebx
shr eax, 0x10
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, ebx
shr eax, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
movzx eax, bl
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x597e42
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x597dc2
jmp dword [eax*4 + 0x59b8f4]
mov ecx, edx
mov eax, ebx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov eax, ebx
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov eax, ebx
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, dx
shr ecx, 8
movzx eax, bl
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
xor ebx, ebx
mov dword [esi + 0x1024], edx
jmp 0x597e7d
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov edx, dword [esi + 0x101c]
mov ebx, dword [esi + 0x18]
cmp dword [0x67c4c8], 0
je 0x597e8c
lzcnt ecx, edx
jmp 0x597e9f
test edx, edx
jne 0x597e95
lea ecx, [edx + 0x20]
jmp 0x597e9f
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
add dword [ebp - 0x20], ecx
cmp ecx, 0x20
jae 0x597d22
shl edx, cl
add ebx, ecx
mov ecx, dword [ebp - 0x24]
mov eax, edx
shr eax, cl
cmp ebx, ecx
ja 0x597eca
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp + 8]
inc ecx
shl edx, cl
add ebx, ecx
jmp 0x598073
sub ebx, ecx
mov dword [ebp - 0x30], eax
cmp dword [esi + 0x14], 0x400
mov dword [ebp - 0x34], ebx
jae 0x598031
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x597f70
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x598012
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x597f80
jmp dword [eax*4 + 0x59b904]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
mov dword [esi + 0x1024], edx
jmp 0x59805c
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov ecx, dword [esi + 0x18]
mov eax, 0x20
sub eax, ecx
cmp ebx, eax
ja 0x59b888
mov edx, dword [esi + 0x101c]
add ebx, ecx
mov ecx, 0x20
mov eax, edx
sub ecx, dword [ebp - 0x34]
shr eax, cl
mov ecx, dword [ebp - 0x34]
shl edx, cl
or dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xc]
and eax, dword [ebp - 0x18]
mov dword [esi + 0x101c], edx
mov edx, dword [ebp - 8]
shl edx, cl
mov dword [esi + 0x18], ebx
mov ebx, dword [ebp - 0x10]
and ebx, dword [ebp - 0x18]
or ebx, edx
mov edx, dword [ebp - 0x28]
shl edx, cl
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x14]
and ebx, dword [ebp - 0x18]
or ebx, edx
mov edx, dword [ebp - 0x2c]
shl edx, cl
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x1c]
and ebx, dword [ebp - 0x18]
or ebx, edx
mov edx, dword [ebp - 0x20]
shl edx, cl
mov ecx, dword [ebp - 0x10]
or edx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
xor ecx, dword [ebp + eax*4 - 0x48]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x14]
mov eax, ecx
and eax, 1
shr ecx, 1
xor ecx, dword [ebp + eax*4 - 0x48]
mov eax, ebx
and eax, 1
shr ebx, 1
mov dword [ebp - 0x14], ecx
xor ebx, dword [ebp + eax*4 - 0x48]
mov eax, edx
and eax, 1
shr edx, 1
mov dword [ebp - 0x1c], ebx
xor edx, dword [ebp + eax*4 - 0x48]
mov dword [ebp - 0x20], edx
mov edx, dword [ebp + 0x18]
cmp edx, 8
jne 0x598164
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x1c]
imul dword [ecx - 0x20]
mov ecx, eax
mov ebx, edx
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x18]
imul dword [edx - 0x1c]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x14]
imul dword [edx - 0x18]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x10]
imul dword [edx - 0x14]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0xc]
imul dword [edx - 0x10]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 4]
mov eax, dword [edi + 8]
imul dword [edx - 0xc]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 4]
mov eax, dword [edi + 4]
imul dword [edx - 8]
add ecx, eax
mov eax, dword [edi]
adc ebx, edx
mov edx, dword [ebp - 4]
imul dword [edx - 4]
jmp 0x59832c
cmp edx, 7
jne 0x598178
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x18]
imul dword [ecx - 0x1c]
mov ecx, eax
mov ebx, edx
jmp 0x598116
cmp edx, 3
jne 0x59818c
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 8]
imul dword [ecx - 0xc]
mov ecx, eax
mov ebx, edx
jmp 0x59814a
cmp edx, 6
jne 0x5981a0
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x14]
imul dword [ecx - 0x18]
mov ecx, eax
mov ebx, edx
jmp 0x598123
cmp edx, 5
jne 0x5981b7
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x10]
imul dword [ecx - 0x14]
mov ecx, eax
mov ebx, edx
jmp 0x598130
cmp edx, 4
jne 0x5981ce
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0xc]
imul dword [ecx - 0x10]
mov ecx, eax
mov ebx, edx
jmp 0x59813d
cmp edx, 0xc
jne 0x598219
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x2c]
imul dword [ecx - 0x30]
mov ebx, edx
mov ecx, eax
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x28]
imul dword [edx - 0x2c]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x24]
imul dword [edx - 0x28]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x20]
imul dword [edx - 0x24]
add ecx, eax
mov eax, dword [edi + 0x1c]
adc ebx, edx
mov edx, dword [ebp - 4]
imul dword [edx - 0x20]
add ecx, eax
adc ebx, edx
jmp 0x598109
cmp edx, 2
jne 0x598238
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 4]
imul dword [ecx - 8]
mov ebx, edx
mov ecx, eax
mov edx, dword [ebp - 4]
mov eax, dword [edi]
imul dword [edx - 4]
jmp 0x59832c
cmp edx, 1
jne 0x59824e
mov ecx, dword [ebp - 4]
mov eax, dword [edi]
imul dword [ecx - 4]
mov ecx, eax
mov ebx, edx
jmp 0x598330
cmp edx, 0xa
jne 0x598262
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x24]
imul dword [ecx - 0x28]
mov ecx, eax
mov ebx, edx
jmp 0x5981fa
cmp edx, 9
jne 0x598286
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x20]
imul dword [ecx - 0x24]
mov ebx, edx
mov ecx, eax
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x1c]
imul dword [edx - 0x20]
add ecx, eax
adc ebx, edx
jmp 0x598109
cmp edx, 0xb
jne 0x59829d
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x28]
imul dword [ecx - 0x2c]
mov ecx, eax
mov ebx, edx
jmp 0x5981ed
xor ecx, ecx
mov dword [ebp - 0x28], 0
xor ebx, ebx
mov dword [ebp - 0x34], 0
xor eax, eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0x3c], ecx
cmp edx, 2
jl 0x59830a
mov ecx, dword [ebp - 4]
mov esi, eax
add ecx, 0xfffffff8
mov ebx, eax
mov eax, dword [edi + esi*4]
lea ecx, [ecx - 8]
imul dword [ecx + 0xc]
add dword [ebp - 0x28], eax
mov eax, dword [edi + esi*4 + 4]
adc dword [ebp - 0x34], edx
imul dword [ecx + 8]
add dword [ebp - 0x2c], eax
adc ebx, edx
mov edx, dword [ebp + 0x18]
add esi, 2
lea eax, [edx - 1]
cmp esi, eax
jl 0x5982d1
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], esi
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 8], ebx
mov ebx, ecx
cmp eax, edx
jge 0x598320
mov ecx, dword [ebp - 4]
shl eax, 2
sub ecx, eax
mov eax, dword [eax + edi]
imul dword [ecx - 4]
mov ecx, eax
mov ebx, edx
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x28]
mov edx, dword [ebp - 8]
adc edx, dword [ebp - 0x34]
add ecx, eax
adc ebx, edx
mov eax, ecx
mov edx, ebx
mov ecx, dword [ebp + 0x1c]
call fcn.00486560
mov ecx, dword [ebp - 0x10]
add ecx, eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], ecx
lea edx, [eax + 4]
mov dword [eax], ecx
mov eax, dword [ebp + 0x18]
mov dword [ebp - 8], edx
cmp eax, 8
jne 0x5983b9
mov eax, dword [edi + 0x1c]
imul dword [edx - 0x20]
mov ecx, eax
mov ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x18]
imul dword [edx - 0x1c]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x14]
imul dword [edx - 0x18]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x10]
imul dword [edx - 0x14]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0xc]
imul dword [edx - 0x10]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 8]
imul dword [edx - 0xc]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 4]
imul dword [edx - 8]
add ecx, eax
mov eax, dword [edi]
adc ebx, edx
imul dword [ebp - 0x10]
jmp 0x59855c
cmp eax, 7
jne 0x5983ca
mov eax, dword [edi + 0x18]
imul dword [edx - 0x1c]
mov ecx, eax
mov ebx, edx
jmp 0x59836e
cmp eax, 3
jne 0x5983db
mov eax, dword [edi + 8]
imul dword [edx - 0xc]
mov ecx, eax
mov ebx, edx
jmp 0x5983a2
cmp eax, 6
jne 0x5983ec
mov eax, dword [edi + 0x14]
imul dword [edx - 0x18]
mov ecx, eax
mov ebx, edx
jmp 0x59837b
cmp eax, 5
jne 0x5983fd
mov eax, dword [edi + 0x10]
imul dword [edx - 0x14]
mov ecx, eax
mov ebx, edx
jmp 0x598388
cmp eax, 4
jne 0x59840e
mov eax, dword [edi + 0xc]
imul dword [edx - 0x10]
mov ecx, eax
mov ebx, edx
jmp 0x598395
cmp eax, 0xc
jne 0x598456
mov eax, dword [edi + 0x2c]
imul dword [edx - 0x30]
mov ebx, edx
mov ecx, eax
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x28]
imul dword [edx - 0x2c]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x24]
imul dword [edx - 0x28]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x20]
imul dword [edx - 0x24]
add ecx, eax
mov eax, dword [edi + 0x1c]
adc ebx, edx
mov edx, dword [ebp - 8]
imul dword [edx - 0x20]
add ecx, eax
adc ebx, edx
jmp 0x598361
cmp eax, 2
jne 0x59846f
mov eax, dword [edi + 4]
imul dword [edx - 8]
mov ecx, eax
mov ebx, edx
mov eax, dword [edi]
imul dword [ebp - 0x10]
jmp 0x59855c
cmp eax, 1
jne 0x598481
mov eax, dword [edi]
imul ecx
mov ecx, eax
mov ebx, edx
jmp 0x598560
cmp eax, 0xa
jne 0x598492
mov eax, dword [edi + 0x24]
imul dword [edx - 0x28]
mov ecx, eax
mov ebx, edx
jmp 0x598437
cmp eax, 9
jne 0x5984b3
mov eax, dword [edi + 0x20]
imul dword [edx - 0x24]
mov ebx, edx
mov ecx, eax
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1c]
imul dword [edx - 0x20]
add ecx, eax
adc ebx, edx
jmp 0x598361
cmp eax, 0xb
jne 0x5984c7
mov eax, dword [edi + 0x28]
imul dword [edx - 0x2c]
mov ecx, eax
mov ebx, edx
jmp 0x59842a
xor ecx, ecx
mov dword [ebp - 0x2c], 0
xor ebx, ebx
mov dword [ebp - 0x10], 0
xor eax, eax
mov dword [ebp - 0x30], 0
cmp dword [ebp + 0x18], 2
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x40], ecx
jl 0x59853a
lea ecx, [edx - 8]
mov esi, eax
mov ebx, eax
lea esp, [esp]
mov eax, dword [edi + esi*4]
lea ecx, [ecx - 8]
imul dword [ecx + 0xc]
add dword [ebp - 0x2c], eax
mov eax, dword [edi + esi*4 + 4]
adc dword [ebp - 0x10], edx
imul dword [ecx + 8]
add dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x18]
adc ebx, edx
add esi, 2
dec eax
cmp esi, eax
jl 0x598500
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x34], esi
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], ebx
mov ebx, ecx
cmp eax, dword [ebp + 0x18]
jge 0x598550
shl eax, 2
mov ecx, edx
sub ecx, eax
mov eax, dword [eax + edi]
imul dword [ecx - 4]
mov ecx, eax
mov ebx, edx
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
adc edx, dword [ebp - 0x10]
add ecx, eax
adc ebx, edx
mov eax, ecx
mov edx, ebx
mov ecx, dword [ebp + 0x1c]
call fcn.00486560
mov ecx, dword [ebp - 8]
add eax, dword [ebp - 0x14]
mov edx, dword [ebp - 4]
add edx, 8
mov dword [ecx], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 8], edx
cmp eax, 8
jne 0x5985ea
mov eax, dword [edi + 0x1c]
imul dword [edx - 0x20]
mov ecx, eax
mov ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x18]
imul dword [edx - 0x1c]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x14]
imul dword [edx - 0x18]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x10]
imul dword [edx - 0x14]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0xc]
imul dword [edx - 0x10]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 8]
imul dword [edx - 0xc]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 4]
imul dword [edx - 8]
add ecx, eax
mov eax, dword [edi]
adc ebx, edx
mov edx, dword [ebp - 8]
imul dword [edx - 4]
jmp 0x59878c
cmp eax, 7
jne 0x5985fb
mov eax, dword [edi + 0x18]
imul dword [edx - 0x1c]
mov ecx, eax
mov ebx, edx
jmp 0x59859c
cmp eax, 3
jne 0x59860c
mov eax, dword [edi + 8]
imul dword [edx - 0xc]
mov ecx, eax
mov ebx, edx
jmp 0x5985d0
cmp eax, 6
jne 0x59861d
mov eax, dword [edi + 0x14]
imul dword [edx - 0x18]
mov ecx, eax
mov ebx, edx
jmp 0x5985a9
cmp eax, 5
jne 0x59862e
mov eax, dword [edi + 0x10]
imul dword [edx - 0x14]
mov ecx, eax
mov ebx, edx
jmp 0x5985b6
cmp eax, 4
jne 0x59863f
mov eax, dword [edi + 0xc]
imul dword [edx - 0x10]
mov ecx, eax
mov ebx, edx
jmp 0x5985c3
cmp eax, 0xc
jne 0x598687
mov eax, dword [edi + 0x2c]
imul dword [edx - 0x30]
mov ebx, edx
mov ecx, eax
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x28]
imul dword [edx - 0x2c]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x24]
imul dword [edx - 0x28]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x20]
imul dword [edx - 0x24]
add ecx, eax
mov eax, dword [edi + 0x1c]
adc ebx, edx
mov edx, dword [ebp - 8]
imul dword [edx - 0x20]
add ecx, eax
adc ebx, edx
jmp 0x59858f
cmp eax, 2
jne 0x5986a3
mov eax, dword [edi + 4]
imul dword [edx - 8]
mov ebx, edx
mov ecx, eax
mov edx, dword [ebp - 8]
mov eax, dword [edi]
imul dword [edx - 4]
jmp 0x59878c
cmp eax, 1
jne 0x5986b6
mov eax, dword [edi]
imul dword [edx - 4]
mov ecx, eax
mov ebx, edx
jmp 0x598790
cmp eax, 0xa
jne 0x5986c7
mov eax, dword [edi + 0x24]
imul dword [edx - 0x28]
mov ecx, eax
mov ebx, edx
jmp 0x598668
cmp eax, 9
jne 0x5986e8
mov eax, dword [edi + 0x20]
imul dword [edx - 0x24]
mov ebx, edx
mov ecx, eax
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1c]
imul dword [edx - 0x20]
add ecx, eax
adc ebx, edx
jmp 0x59858f
cmp eax, 0xb
jne 0x5986fc
mov eax, dword [edi + 0x28]
imul dword [edx - 0x2c]
mov ecx, eax
mov ebx, edx
jmp 0x59865b
xor ecx, ecx
mov dword [ebp - 0x2c], 0
xor ebx, ebx
mov dword [ebp - 0x14], 0
xor eax, eax
mov dword [ebp - 0x30], 0
cmp dword [ebp + 0x18], 2
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x40], ecx
jl 0x59876a
lea ecx, [edx - 8]
mov esi, eax
mov ebx, eax
mov edi, edi
mov eax, dword [edi + esi*4]
lea ecx, [ecx - 8]
imul dword [ecx + 0xc]
add dword [ebp - 0x2c], eax
mov eax, dword [edi + esi*4 + 4]
adc dword [ebp - 0x14], edx
imul dword [ecx + 8]
add dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x18]
adc ebx, edx
add esi, 2
dec eax
cmp esi, eax
jl 0x598730
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x34], esi
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], ebx
mov ebx, ecx
cmp eax, dword [ebp + 0x18]
jge 0x598780
shl eax, 2
mov ecx, edx
sub ecx, eax
mov eax, dword [eax + edi]
imul dword [ecx - 4]
mov ecx, eax
mov ebx, edx
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
adc edx, dword [ebp - 0x14]
add ecx, eax
adc ebx, edx
mov eax, ecx
mov edx, ebx
mov ecx, dword [ebp + 0x1c]
call fcn.00486560
mov ecx, dword [ebp - 8]
add eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 4]
add edx, 0xc
mov dword [ecx], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 8], edx
cmp eax, 8
jne 0x59881a
mov eax, dword [edi + 0x1c]
imul dword [edx - 0x20]
mov ecx, eax
mov ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x18]
imul dword [edx - 0x1c]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x14]
imul dword [edx - 0x18]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x10]
imul dword [edx - 0x14]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0xc]
imul dword [edx - 0x10]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 8]
imul dword [edx - 0xc]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 4]
imul dword [edx - 8]
add ecx, eax
mov eax, dword [edi]
adc ebx, edx
mov edx, dword [ebp - 8]
imul dword [edx - 4]
jmp 0x5989bc
cmp eax, 7
jne 0x59882b
mov eax, dword [edi + 0x18]
imul dword [edx - 0x1c]
mov ecx, eax
mov ebx, edx
jmp 0x5987cc
cmp eax, 3
jne 0x59883c
mov eax, dword [edi + 8]
imul dword [edx - 0xc]
mov ecx, eax
mov ebx, edx
jmp 0x598800
cmp eax, 6
jne 0x59884d
mov eax, dword [edi + 0x14]
imul dword [edx - 0x18]
mov ecx, eax
mov ebx, edx
jmp 0x5987d9
cmp eax, 5
jne 0x59885e
mov eax, dword [edi + 0x10]
imul dword [edx - 0x14]
mov ecx, eax
mov ebx, edx
jmp 0x5987e6
cmp eax, 4
jne 0x59886f
mov eax, dword [edi + 0xc]
imul dword [edx - 0x10]
mov ecx, eax
mov ebx, edx
jmp 0x5987f3
cmp eax, 0xc
jne 0x5988b7
mov eax, dword [edi + 0x2c]
imul dword [edx - 0x30]
mov ebx, edx
mov ecx, eax
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x28]
imul dword [edx - 0x2c]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x24]
imul dword [edx - 0x28]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x20]
imul dword [edx - 0x24]
add ecx, eax
mov eax, dword [edi + 0x1c]
adc ebx, edx
mov edx, dword [ebp - 8]
imul dword [edx - 0x20]
add ecx, eax
adc ebx, edx
jmp 0x5987bf
cmp eax, 2
jne 0x5988d3
mov eax, dword [edi + 4]
imul dword [edx - 8]
mov ebx, edx
mov ecx, eax
mov edx, dword [ebp - 8]
mov eax, dword [edi]
imul dword [edx - 4]
jmp 0x5989bc
cmp eax, 1
jne 0x5988e6
mov eax, dword [edi]
imul dword [edx - 4]
mov ecx, eax
mov ebx, edx
jmp 0x5989c0
cmp eax, 0xa
jne 0x5988f7
mov eax, dword [edi + 0x24]
imul dword [edx - 0x28]
mov ecx, eax
mov ebx, edx
jmp 0x598898
cmp eax, 9
jne 0x598918
mov eax, dword [edi + 0x20]
imul dword [edx - 0x24]
mov ebx, edx
mov ecx, eax
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1c]
imul dword [edx - 0x20]
add ecx, eax
adc ebx, edx
jmp 0x5987bf
cmp eax, 0xb
jne 0x59892c
mov eax, dword [edi + 0x28]
imul dword [edx - 0x2c]
mov ecx, eax
mov ebx, edx
jmp 0x59888b
xor ecx, ecx
mov dword [ebp - 0x2c], 0
xor ebx, ebx
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x30], 0
cmp dword [ebp + 0x18], 2
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x40], ecx
jl 0x59899a
lea ecx, [edx - 8]
mov esi, eax
mov ebx, eax
mov edi, edi
mov eax, dword [edi + esi*4]
lea ecx, [ecx - 8]
imul dword [ecx + 0xc]
add dword [ebp - 0x2c], eax
mov eax, dword [edi + esi*4 + 4]
adc dword [ebp - 0x1c], edx
imul dword [ecx + 8]
add dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x18]
adc ebx, edx
add esi, 2
dec eax
cmp esi, eax
jl 0x598960
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x34], esi
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], ebx
mov ebx, ecx
cmp eax, dword [ebp + 0x18]
jge 0x5989b0
shl eax, 2
mov ecx, edx
sub ecx, eax
mov eax, dword [eax + edi]
imul dword [ecx - 4]
mov ecx, eax
mov ebx, edx
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
adc edx, dword [ebp - 0x1c]
add ecx, eax
adc ebx, edx
mov eax, ecx
mov edx, ebx
mov ecx, dword [ebp + 0x1c]
call fcn.00486560
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add ebx, 0x10
add eax, dword [ebp - 0x20]
mov dword [ebp - 4], ebx
mov dword [ecx], eax
cmp ebx, dword [ebp - 0x38]
jb 0x597210
jmp 0x59b0b7
sub eax, ecx
mov dword [ebp - 0x2c], eax
cmp dword [0x67c4c8], 0
mov edx, dword [esi + 0x101c]
mov ebx, dword [esi + 0x18]
je 0x598a08
lzcnt ecx, edx
jmp 0x598a1b
test edx, edx
jne 0x598a11
lea ecx, [edx + 0x20]
jmp 0x598a1b
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
cmp ecx, 0x20
jae 0x598a28
mov dword [ebp - 0x14], ecx
jmp 0x598bbf
mov eax, 0x20
sub eax, ebx
mov dword [ebp - 0x14], eax
cmp dword [esi + 0x14], 0x400
jae 0x598b77
mov ecx, dword [esi + 0x1028]
movzx eax, word [esi + 0x1020]
mov ebx, dword [esi + 0x1024]
mov edx, eax
test ecx, ecx
jne 0x598ac6
mov ecx, edx
mov eax, ebx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebx
shr eax, 0x10
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, ebx
shr eax, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
movzx eax, bl
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x598b56
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x598ad6
jmp dword [eax*4 + 0x59b914]
mov ecx, edx
mov eax, ebx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov eax, ebx
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov eax, ebx
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, dx
shr ecx, 8
movzx eax, bl
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
xor ebx, ebx
mov dword [esi + 0x1024], edx
jmp 0x598b91
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov edx, dword [esi + 0x101c]
mov ebx, dword [esi + 0x18]
cmp dword [0x67c4c8], 0
je 0x598ba0
lzcnt ecx, edx
jmp 0x598bb3
test edx, edx
jne 0x598ba9
lea ecx, [edx + 0x20]
jmp 0x598bb3
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
add dword [ebp - 0x14], ecx
cmp ecx, 0x20
jae 0x598a32
shl edx, cl
add ebx, ecx
mov ecx, dword [ebp - 0x2c]
mov eax, edx
shr eax, cl
mov dword [ebp - 0x20], eax
cmp ebx, ecx
ja 0x598be0
mov eax, dword [ebp - 0xc]
inc eax
mov ecx, eax
shl edx, cl
add ebx, eax
jmp 0x598d92
sub ebx, ecx
mov dword [ebp - 0x3c], eax
cmp dword [esi + 0x14], 0x400
mov dword [ebp - 0x40], ebx
jae 0x598d4b
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x598c8a
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x598d2c
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x598c9a
jmp dword [eax*4 + 0x59b924]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
mov dword [esi + 0x1024], edx
jmp 0x598d76
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov ecx, dword [esi + 0x18]
mov eax, 0x20
sub eax, ecx
cmp ebx, eax
ja 0x59b888
mov edx, dword [esi + 0x101c]
add ebx, ecx
mov ecx, 0x20
mov dword [ebp - 0x20], edx
sub ecx, dword [ebp - 0x40]
shr dword [ebp - 0x20], cl
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x40]
shl edx, cl
or eax, dword [ebp - 0x3c]
mov dword [ebp - 0x20], eax
cmp dword [0x67c4c8], 0
mov dword [esi + 0x101c], edx
mov dword [esi + 0x18], ebx
je 0x598daa
lzcnt ecx, edx
jmp 0x598dbd
test edx, edx
jne 0x598db3
lea ecx, [edx + 0x20]
jmp 0x598dbd
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
cmp ecx, 0x20
jae 0x598dca
mov dword [ebp - 0x10], ecx
jmp 0x598f6d
mov eax, 0x20
sub eax, ebx
mov dword [ebp - 0x10], eax
jmp 0x598de0
cmp dword [esi + 0x14], 0x400
jae 0x598f25
mov ecx, dword [esi + 0x1028]
movzx eax, word [esi + 0x1020]
mov ebx, dword [esi + 0x1024]
mov edx, eax
test ecx, ecx
jne 0x598e74
mov ecx, edx
mov eax, ebx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebx
shr eax, 0x10
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, ebx
shr eax, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
movzx eax, bl
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x598f04
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x598e84
jmp dword [eax*4 + 0x59b934]
mov ecx, edx
mov eax, ebx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov eax, ebx
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov eax, ebx
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, dx
shr ecx, 8
movzx eax, bl
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
xor ebx, ebx
mov dword [esi + 0x1024], edx
jmp 0x598f3f
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov edx, dword [esi + 0x101c]
mov ebx, dword [esi + 0x18]
cmp dword [0x67c4c8], 0
je 0x598f4e
lzcnt ecx, edx
jmp 0x598f61
test edx, edx
jne 0x598f57
lea ecx, [edx + 0x20]
jmp 0x598f61
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
add dword [ebp - 0x10], ecx
cmp ecx, 0x20
jae 0x598de0
shl edx, cl
add ebx, ecx
mov ecx, dword [ebp - 0x2c]
mov eax, edx
shr eax, cl
mov dword [ebp - 0x1c], eax
cmp ebx, ecx
ja 0x598f8e
mov eax, dword [ebp - 0xc]
inc eax
mov ecx, eax
shl edx, cl
add ebx, eax
jmp 0x599140
sub ebx, ecx
mov dword [ebp - 0x3c], eax
cmp dword [esi + 0x14], 0x400
mov dword [ebp - 0x40], ebx
jae 0x5990f9
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x599038
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x5990da
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x599048
jmp dword [eax*4 + 0x59b944]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
mov dword [esi + 0x1024], edx
jmp 0x599124
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov ecx, dword [esi + 0x18]
mov eax, 0x20
sub eax, ecx
cmp ebx, eax
ja 0x59b888
mov edx, dword [esi + 0x101c]
add ebx, ecx
mov ecx, 0x20
mov dword [ebp - 0x1c], edx
sub ecx, dword [ebp - 0x40]
shr dword [ebp - 0x1c], cl
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x40]
shl edx, cl
or eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
cmp dword [0x67c4c8], 0
mov dword [esi + 0x101c], edx
mov dword [esi + 0x18], ebx
je 0x599158
lzcnt ecx, edx
jmp 0x59916b
test edx, edx
jne 0x599161
lea ecx, [edx + 0x20]
jmp 0x59916b
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
cmp ecx, 0x20
jae 0x599178
mov dword [ebp - 8], ecx
jmp 0x59930f
mov eax, 0x20
sub eax, ebx
mov dword [ebp - 8], eax
cmp dword [esi + 0x14], 0x400
jae 0x5992c7
mov ecx, dword [esi + 0x1028]
movzx eax, word [esi + 0x1020]
mov ebx, dword [esi + 0x1024]
mov edx, eax
test ecx, ecx
jne 0x599216
mov ecx, edx
mov eax, ebx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebx
shr eax, 0x10
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, ebx
shr eax, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
movzx eax, bl
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x5992a6
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x599226
jmp dword [eax*4 + 0x59b954]
mov ecx, edx
mov eax, ebx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov eax, ebx
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov eax, ebx
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, dx
shr ecx, 8
movzx eax, bl
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
xor ebx, ebx
mov dword [esi + 0x1024], edx
jmp 0x5992e1
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov edx, dword [esi + 0x101c]
mov ebx, dword [esi + 0x18]
cmp dword [0x67c4c8], 0
je 0x5992f0
lzcnt ecx, edx
jmp 0x599303
test edx, edx
jne 0x5992f9
lea ecx, [edx + 0x20]
jmp 0x599303
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
add dword [ebp - 8], ecx
cmp ecx, 0x20
jae 0x599182
shl edx, cl
add ebx, ecx
mov ecx, dword [ebp - 0x2c]
mov eax, edx
shr eax, cl
mov dword [ebp - 0x28], eax
cmp ebx, ecx
ja 0x599330
mov eax, dword [ebp - 0xc]
inc eax
mov ecx, eax
shl edx, cl
add ebx, eax
jmp 0x5994da
sub ebx, ecx
mov dword [ebp - 0x28], eax
cmp dword [esi + 0x14], 0x400
mov dword [ebp - 0x34], ebx
jae 0x59949b
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x5993da
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x59947c
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x5993ea
jmp dword [eax*4 + 0x59b964]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
mov dword [esi + 0x1024], edx
jmp 0x5994c6
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov ecx, dword [esi + 0x18]
mov eax, 0x20
sub eax, ecx
cmp ebx, eax
ja 0x59b888
mov edx, dword [esi + 0x101c]
add ebx, ecx
mov ecx, 0x20
mov eax, edx
sub ecx, dword [ebp - 0x34]
shr eax, cl
mov ecx, dword [ebp - 0x34]
shl edx, cl
or dword [ebp - 0x28], eax
cmp dword [0x67c4c8], 0
mov dword [esi + 0x101c], edx
mov dword [esi + 0x18], ebx
je 0x5994f2
lzcnt ecx, edx
jmp 0x599505
test edx, edx
jne 0x5994fb
lea ecx, [edx + 0x20]
jmp 0x599505
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
cmp ecx, 0x20
jae 0x599514
mov eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x5996ad
mov eax, 0x20
sub eax, ebx
mov dword [ebp - 0x24], eax
mov edi, edi
cmp dword [esi + 0x14], 0x400
jae 0x599665
mov ecx, dword [esi + 0x1028]
movzx eax, word [esi + 0x1020]
mov ebx, dword [esi + 0x1024]
mov edx, eax
test ecx, ecx
jne 0x5995b4
mov ecx, edx
mov eax, ebx
shr eax, 0x18
shr ecx, 8
xor ecx, eax
shl edx, 8
mov eax, ebx
shr eax, 0x10
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
mov eax, ebx
shr eax, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, al
mov eax, edx
shr eax, 8
xor ecx, eax
shl edx, 8
movzx eax, bl
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x599644
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x5995c4
jmp dword [eax*4 + 0x59b974]
mov ecx, edx
mov eax, ebx
shr ecx, 8
shr eax, 0x18
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov eax, ebx
shr eax, 0x10
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov eax, ebx
shr eax, 8
movzx ecx, al
movzx eax, dx
shr eax, 8
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
movzx ecx, dx
shr ecx, 8
movzx eax, bl
xor ecx, eax
shl edx, 8
xor dx, word [ecx*2 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
xor ebx, ebx
mov dword [esi + 0x1024], edx
jmp 0x59967f
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov edx, dword [esi + 0x101c]
mov ebx, dword [esi + 0x18]
cmp dword [0x67c4c8], 0
je 0x59968e
lzcnt ecx, edx
jmp 0x5996a1
test edx, edx
jne 0x599697
lea ecx, [edx + 0x20]
jmp 0x5996a1
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
add dword [ebp - 0x24], ecx
cmp ecx, 0x20
jae 0x599520
shl edx, cl
add ebx, ecx
mov ecx, dword [ebp - 0x2c]
mov eax, edx
shr eax, cl
cmp ebx, ecx
ja 0x5996cc
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp + 8]
inc ecx
shl edx, cl
add ebx, ecx
jmp 0x599879
sub ebx, ecx
mov dword [ebp - 0x34], eax
cmp dword [esi + 0x14], 0x400
mov dword [ebp - 0x30], ebx
jae 0x599837
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x599776
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x599818
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x599786
jmp dword [eax*4 + 0x59b984]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
mov dword [esi + 0x1024], edx
jmp 0x599862
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov ecx, dword [esi + 0x18]
mov eax, 0x20
sub eax, ecx
cmp ebx, eax
ja 0x59b888
mov edx, dword [esi + 0x101c]
add ebx, ecx
mov ecx, 0x20
mov eax, edx
sub ecx, dword [ebp - 0x30]
shr eax, cl
mov ecx, dword [ebp - 0x30]
shl edx, cl
or dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xc]
and eax, dword [ebp - 0x18]
mov dword [esi + 0x101c], edx
mov edx, dword [ebp - 0x14]
shl edx, cl
mov ecx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x18]
or edx, ecx
mov dword [esi + 0x18], ebx
mov ecx, dword [ebp - 0xc]
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x10]
shl edx, cl
mov ecx, dword [ebp - 0x1c]
and ecx, dword [ebp - 0x18]
or edx, ecx
mov ecx, dword [ebp - 0xc]
shl ebx, cl
mov ecx, dword [ebp - 0x28]
and ecx, dword [ebp - 0x18]
or ebx, ecx
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
shl edx, cl
mov ecx, dword [ebp - 0x14]
or edx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
xor ecx, dword [ebp + eax*4 - 0x48]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x10]
mov eax, ecx
and eax, 1
shr ecx, 1
xor ecx, dword [ebp + eax*4 - 0x48]
mov eax, ebx
and eax, 1
shr ebx, 1
mov dword [ebp - 0x10], ecx
xor ebx, dword [ebp + eax*4 - 0x48]
mov eax, edx
and eax, 1
shr edx, 1
mov dword [ebp - 8], ebx
xor edx, dword [ebp + eax*4 - 0x48]
mov eax, dword [ebp + 0x18]
dec eax
mov dword [ebp - 0x24], edx
xor edx, edx
mov dword [ebp - 0x34], eax
cmp eax, 0x1f
ja case.default.0x599915
jmp dword [eax*4 + 0x59b994]
mov ebx, dword [ebp - 4]
mov edx, dword [edi + 0x7c]
mov eax, dword [edi + 0x78]
imul eax, dword [ebx - 0x7c]
imul edx, dword [ebx - 0x80]
add edx, eax
mov eax, dword [edi + 0x74]
imul eax, dword [ebx - 0x78]
add edx, eax
mov eax, dword [edi + 0x70]
imul eax, dword [ebx - 0x74]
add edx, eax
mov eax, dword [edi + 0x6c]
imul eax, dword [ebx - 0x70]
add edx, eax
mov eax, dword [edi + 0x68]
imul eax, dword [ebx - 0x6c]
add edx, eax
mov eax, dword [edi + 0x64]
imul eax, dword [ebx - 0x68]
add edx, eax
mov eax, dword [edi + 0x60]
imul eax, dword [ebx - 0x64]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [ebx - 0x60]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [ebx - 0x5c]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [ebx - 0x58]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [ebx - 0x54]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x78]
imul eax, dword [ebx - 0x7c]
add edx, eax
mov eax, dword [edi + 0x74]
imul eax, dword [ebx - 0x78]
add edx, eax
mov eax, dword [edi + 0x70]
imul eax, dword [ebx - 0x74]
add edx, eax
mov eax, dword [edi + 0x6c]
imul eax, dword [ebx - 0x70]
add edx, eax
mov eax, dword [edi + 0x68]
imul eax, dword [ebx - 0x6c]
add edx, eax
mov eax, dword [edi + 0x64]
imul eax, dword [ebx - 0x68]
add edx, eax
mov eax, dword [edi + 0x60]
imul eax, dword [ebx - 0x64]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [ebx - 0x60]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [ebx - 0x5c]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [ebx - 0x58]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [ebx - 0x54]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x74]
imul eax, dword [ebx - 0x78]
add edx, eax
mov eax, dword [edi + 0x70]
imul eax, dword [ebx - 0x74]
add edx, eax
mov eax, dword [edi + 0x6c]
imul eax, dword [ebx - 0x70]
add edx, eax
mov eax, dword [edi + 0x68]
imul eax, dword [ebx - 0x6c]
add edx, eax
mov eax, dword [edi + 0x64]
imul eax, dword [ebx - 0x68]
add edx, eax
mov eax, dword [edi + 0x60]
imul eax, dword [ebx - 0x64]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [ebx - 0x60]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [ebx - 0x5c]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [ebx - 0x58]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [ebx - 0x54]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x70]
imul eax, dword [ebx - 0x74]
add edx, eax
mov eax, dword [edi + 0x6c]
imul eax, dword [ebx - 0x70]
add edx, eax
mov eax, dword [edi + 0x68]
imul eax, dword [ebx - 0x6c]
add edx, eax
mov eax, dword [edi + 0x64]
imul eax, dword [ebx - 0x68]
add edx, eax
mov eax, dword [edi + 0x60]
imul eax, dword [ebx - 0x64]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [ebx - 0x60]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [ebx - 0x5c]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [ebx - 0x58]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [ebx - 0x54]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x6c]
imul eax, dword [ebx - 0x70]
add edx, eax
mov eax, dword [edi + 0x68]
imul eax, dword [ebx - 0x6c]
add edx, eax
mov eax, dword [edi + 0x64]
imul eax, dword [ebx - 0x68]
add edx, eax
mov eax, dword [edi + 0x60]
imul eax, dword [ebx - 0x64]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [ebx - 0x60]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [ebx - 0x5c]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [ebx - 0x58]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [ebx - 0x54]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x68]
imul eax, dword [ebx - 0x6c]
add edx, eax
mov eax, dword [edi + 0x64]
imul eax, dword [ebx - 0x68]
add edx, eax
mov eax, dword [edi + 0x60]
imul eax, dword [ebx - 0x64]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [ebx - 0x60]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [ebx - 0x5c]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [ebx - 0x58]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [ebx - 0x54]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x64]
imul eax, dword [ebx - 0x68]
add edx, eax
mov eax, dword [edi + 0x60]
imul eax, dword [ebx - 0x64]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [ebx - 0x60]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [ebx - 0x5c]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [ebx - 0x58]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [ebx - 0x54]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x60]
imul eax, dword [ebx - 0x64]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [ebx - 0x60]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [ebx - 0x5c]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [ebx - 0x58]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [ebx - 0x54]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x5c]
imul eax, dword [ebx - 0x60]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [ebx - 0x5c]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [ebx - 0x58]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [ebx - 0x54]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x58]
imul eax, dword [ebx - 0x5c]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [ebx - 0x58]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [ebx - 0x54]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x54]
imul eax, dword [ebx - 0x58]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [ebx - 0x54]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x50]
imul eax, dword [ebx - 0x54]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov eax, dword [ebp - 0x34]
jmp 0x59ace1
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
sar edx, cl
mov ecx, dword [ebp - 0x14]
add ecx, edx
xor edx, edx
mov dword [ebp - 0x30], ecx
mov dword [ebx], ecx
cmp eax, 0x1f
ja case.default.0x59acfb
jmp dword [eax*4 + 0x59ba14]
mov edx, dword [edi + 0x7c]
imul edx, dword [ebx - 0x7c]
mov eax, dword [edi + 0x78]
imul eax, dword [ebx - 0x78]
add edx, eax
mov eax, dword [edi + 0x74]
imul eax, dword [ebx - 0x74]
add edx, eax
mov eax, dword [edi + 0x70]
imul eax, dword [ebx - 0x70]
add edx, eax
mov eax, dword [edi + 0x6c]
imul eax, dword [ebx - 0x6c]
add edx, eax
mov eax, dword [edi + 0x68]
imul eax, dword [ebx - 0x68]
add edx, eax
mov eax, dword [edi + 0x64]
imul eax, dword [ebx - 0x64]
add edx, eax
mov eax, dword [edi + 0x60]
imul eax, dword [ebx - 0x60]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [ebx - 0x5c]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [ebx - 0x58]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [ebx - 0x54]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 4]
add edx, eax
mov eax, dword [edi]
imul eax, ecx
add edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + 0x1c]
sar edx, cl
mov ecx, dword [ebp - 0x10]
add ecx, edx
xor edx, edx
mov dword [ebp - 0x40], ecx
mov dword [ebx + 4], ecx
cmp eax, 0x1f
ja case.default.0x59ae3c
jmp dword [eax*4 + 0x59ba94]
mov edx, dword [edi + 0x7c]
imul edx, dword [ebx - 0x78]
mov eax, dword [edi + 0x78]
imul eax, dword [ebx - 0x74]
add edx, eax
mov eax, dword [edi + 0x74]
imul eax, dword [ebx - 0x70]
add edx, eax
mov eax, dword [edi + 0x70]
imul eax, dword [ebx - 0x6c]
add edx, eax
mov eax, dword [edi + 0x6c]
imul eax, dword [ebx - 0x68]
add edx, eax
mov eax, dword [edi + 0x68]
imul eax, dword [ebx - 0x64]
add edx, eax
mov eax, dword [edi + 0x64]
imul eax, dword [ebx - 0x60]
add edx, eax
mov eax, dword [edi + 0x60]
imul eax, dword [ebx - 0x5c]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [ebx - 0x58]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [ebx - 0x54]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 4]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebp - 0x30]
add edx, eax
mov eax, dword [edi]
imul eax, ecx
add edx, eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + 0x1c]
sar edx, cl
mov ecx, dword [ebp - 8]
add ecx, edx
xor edx, edx
mov dword [ebx + 8], ecx
cmp eax, 0x1f
ja case.default.0x59af7a
jmp dword [eax*4 + 0x59bb14]
mov edx, dword [edi + 0x7c]
imul edx, dword [ebx - 0x74]
mov eax, dword [edi + 0x78]
imul eax, dword [ebx - 0x70]
add edx, eax
mov eax, dword [edi + 0x74]
imul eax, dword [ebx - 0x6c]
add edx, eax
mov eax, dword [edi + 0x70]
imul eax, dword [ebx - 0x68]
add edx, eax
mov eax, dword [edi + 0x6c]
imul eax, dword [ebx - 0x64]
add edx, eax
mov eax, dword [edi + 0x68]
imul eax, dword [ebx - 0x60]
add edx, eax
mov eax, dword [edi + 0x64]
imul eax, dword [ebx - 0x5c]
add edx, eax
mov eax, dword [edi + 0x60]
imul eax, dword [ebx - 0x58]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [ebx - 0x54]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 4]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebp - 0x30]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebp - 0x40]
add edx, eax
mov eax, dword [edi]
imul eax, ecx
add edx, eax
mov ecx, dword [ebp + 0x1c]
sar edx, cl
add edx, dword [ebp - 0x24]
mov dword [ebx + 0xc], edx
add ebx, 0x10
mov dword [ebp - 4], ebx
cmp ebx, dword [ebp - 0x38]
jb 0x5989f0
mov eax, dword [ebp + 0x10]
and eax, 0xfffffffc
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp + 0x10]
jae 0x59b87c
mov eax, dword [ebp - 0xc]
mov ecx, 0x20
inc eax
sub ecx, eax
mov dword [ebp - 0x38], ecx
jmp 0x59b0e0
cmp dword [0x67c4c8], 0
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x101c]
mov dword [ebp - 0x2c], eax
je 0x59b0fb
lzcnt ecx, edx
jmp 0x59b111
test edx, edx
jne 0x59b104
lea ecx, [edx + 0x20]
jmp 0x59b111
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
mov eax, dword [ebp - 0x2c]
cmp ecx, 0x20
jae 0x59b120
mov eax, ecx
mov dword [ebp - 0x10], eax
jmp 0x59b2e1
mov ecx, 0x20
sub ecx, eax
mov dword [ebp - 0x10], ecx
lea ebx, [ebx]
cmp dword [esi + 0x14], 0x400
jae 0x59b296
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x59b1ce
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x59b270
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x59b1de
jmp dword [eax*4 + 0x59bb94]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x2c], 0
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
mov dword [esi + 0x1024], edx
jmp 0x59b2b3
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x101c]
mov dword [ebp - 0x2c], eax
cmp dword [0x67c4c8], 0
je 0x59b2c2
lzcnt ecx, edx
jmp 0x59b2d5
test edx, edx
jne 0x59b2cb
lea ecx, [edx + 0x20]
jmp 0x59b2d5
bsr eax, edx
mov ecx, 0x1f
sub ecx, eax
add dword [ebp - 0x10], ecx
cmp ecx, 0x20
jae 0x59b130
mov eax, dword [ebp - 0x2c]
shl edx, cl
add eax, ecx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x14], edx
shr dword [ebp - 0x14], cl
cmp eax, ecx
ja 0x59b305
mov ecx, dword [ebp - 0xc]
mov ebx, dword [ebp - 4]
inc ecx
shl edx, cl
add eax, ecx
jmp 0x59b4bb
sub eax, dword [ebp - 0x38]
cmp dword [esi + 0x14], 0x400
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x2c], eax
jae 0x59b473
mov ecx, dword [esi + 0x1028]
mov eax, dword [esi + 0x1024]
movzx edx, word [esi + 0x1020]
test ecx, ecx
jne 0x59b3af
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov ecx, edx
shl edx, 8
shr ecx, 8
xor ecx, eax
xor dx, word [ecx*2 + 0x675198]
jmp 0x59b451
mov eax, 3
sub eax, ecx
cmp eax, 3
ja case.default.0x59b3bf
jmp dword [eax*4 + 0x59bba4]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
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 + 0x675198]
movzx edx, dx
mov dword [esi + 0x1028], 0
movzx eax, dx
mov word [esi + 0x1020], ax
mov eax, dword [esi + 0x14]
mov edx, dword [esi + eax*4 + 0x1c]
inc eax
bswap edx
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0x1024], edx
jmp 0x59b4a2
push esi
call fcn.005a3fa0
add esp, 4
test eax, eax
je 0x59b888
mov ecx, dword [ebp - 0x2c]
mov eax, 0x20
sub eax, dword [esi + 0x18]
cmp ecx, eax
ja 0x59b888
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x101c]
add eax, ecx
mov ecx, 0x20
mov dword [ebp - 0x14], edx
sub ecx, dword [ebp - 0x2c]
shr dword [ebp - 0x14], cl
mov ecx, dword [ebp - 0x2c]
shl edx, cl
mov ecx, dword [ebp - 0x40]
or dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0xc]
mov dword [esi + 0x101c], edx
mov edx, dword [ebp - 0x10]
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x14]
and eax, dword [ebp - 0x18]
shl edx, cl
or edx, eax
mov eax, edx
shr edx, 1
and eax, 1
xor edx, dword [ebp + eax*4 - 0x48]
xor eax, eax
mov dword [ebp - 0x10], edx
mov edx, dword [ebp + 0x18]
mov ecx, edx
test edx, edx
je 0x59b4f5
lea ecx, [ecx]
inc eax
shr ecx, 1
jne 0x59b4f0
add eax, dword [ebp + 0xc]
add eax, dword [ebp + 0x20]
cmp eax, 0x20
jbe 0x59b729
cmp edx, 8
jne 0x59b56e
mov eax, dword [edi + 0x1c]
imul dword [ebx - 0x20]
mov ecx, eax
mov ebx, edx
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x18]
imul dword [edx - 0x1c]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x14]
imul dword [edx - 0x18]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x10]
imul dword [edx - 0x14]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0xc]
imul dword [edx - 0x10]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 4]
mov eax, dword [edi + 8]
imul dword [edx - 0xc]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 4]
mov eax, dword [edi + 4]
imul dword [edx - 8]
add ecx, eax
mov eax, dword [edi]
adc ebx, edx
mov edx, dword [ebp - 4]
imul dword [edx - 4]
jmp 0x59b70f
cmp edx, 7
jne 0x59b57f
mov eax, dword [edi + 0x18]
imul dword [ebx - 0x1c]
mov ecx, eax
mov ebx, edx
jmp 0x59b520
cmp edx, 3
jne 0x59b590
mov eax, dword [edi + 8]
imul dword [ebx - 0xc]
mov ecx, eax
mov ebx, edx
jmp 0x59b554
cmp edx, 6
jne 0x59b5a1
mov eax, dword [edi + 0x14]
imul dword [ebx - 0x18]
mov ecx, eax
mov ebx, edx
jmp 0x59b52d
cmp edx, 5
jne 0x59b5b2
mov eax, dword [edi + 0x10]
imul dword [ebx - 0x14]
mov ecx, eax
mov ebx, edx
jmp 0x59b53a
cmp edx, 4
jne 0x59b5c3
mov eax, dword [edi + 0xc]
imul dword [ebx - 0x10]
mov ecx, eax
mov ebx, edx
jmp 0x59b547
cmp edx, 0xc
jne 0x59b60b
mov eax, dword [edi + 0x2c]
imul dword [ebx - 0x30]
mov ebx, edx
mov ecx, eax
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x28]
imul dword [edx - 0x2c]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x24]
imul dword [edx - 0x28]
add ecx, eax
adc ebx, edx
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x20]
imul dword [edx - 0x24]
add ecx, eax
mov eax, dword [edi + 0x1c]
adc ebx, edx
mov edx, dword [ebp - 4]
imul dword [edx - 0x20]
add ecx, eax
adc ebx, edx
jmp 0x59b513
cmp edx, 2
jne 0x59b627
mov eax, dword [edi + 4]
imul dword [ebx - 8]
mov ebx, edx
mov ecx, eax
mov edx, dword [ebp - 4]
mov eax, dword [edi]
imul dword [edx - 4]
jmp 0x59b70f
cmp edx, 1
jne 0x59b63a
mov eax, dword [edi]
imul dword [ebx - 4]
mov ecx, eax
mov ebx, edx
jmp 0x59b713
cmp edx, 0xa
jne 0x59b64b
mov eax, dword [edi + 0x24]
imul dword [ebx - 0x28]
mov ecx, eax
mov ebx, edx
jmp 0x59b5ec
cmp edx, 9
jne 0x59b66c
mov eax, dword [edi + 0x20]
imul dword [ebx - 0x24]
mov ebx, edx
mov ecx, eax
mov edx, dword [ebp - 4]
mov eax, dword [edi + 0x1c]
imul dword [edx - 0x20]
add ecx, eax
adc ebx, edx
jmp 0x59b513
cmp edx, 0xb
jne 0x59b680
mov eax, dword [edi + 0x28]
imul dword [ebx - 0x2c]
mov ecx, eax
mov ebx, edx
jmp 0x59b5df
xor ecx, ecx
mov dword [ebp - 0x2c], 0
xor ebx, ebx
mov dword [ebp - 0x24], 0
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x40], ecx
cmp edx, 2
jl 0x59b6ed
mov ecx, dword [ebp - 4]
mov esi, eax
add ecx, 0xfffffff8
mov ebx, eax
mov eax, dword [edi + esi*4]
lea ecx, [ecx - 8]
imul dword [ecx + 0xc]
add dword [ebp - 0x2c], eax
mov eax, dword [edi + esi*4 + 4]
adc dword [ebp - 0x24], edx
imul dword [ecx + 8]
add dword [ebp - 0x30], eax
adc ebx, edx
mov edx, dword [ebp + 0x18]
add esi, 2
lea eax, [edx - 1]
cmp esi, eax
jl 0x59b6b4
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x34], esi
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], ebx
mov ebx, ecx
cmp eax, edx
jge 0x59b703
mov ecx, dword [ebp - 4]
shl eax, 2
sub ecx, eax
mov eax, dword [eax + edi]
imul dword [ecx - 4]
mov ecx, eax
mov ebx, edx
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
adc edx, dword [ebp - 0x24]
add ecx, eax
adc ebx, edx
mov eax, ecx
mov edx, ebx
mov ecx, dword [ebp + 0x1c]
call fcn.00486560
mov ebx, dword [ebp - 4]
mov edx, eax
jmp 0x59b861
mov eax, dword [ebp + 0x18]
xor edx, edx
dec eax
cmp eax, 0x1f
ja case.default.0x59b738
jmp dword [eax*4 + 0x59bbb4]
mov edx, dword [edi + 0x7c]
imul edx, dword [ebx - 0x80]
mov eax, dword [edi + 0x78]
imul eax, dword [ebx - 0x7c]
add edx, eax
mov eax, dword [edi + 0x74]
imul eax, dword [ebx - 0x78]
add edx, eax
mov eax, dword [edi + 0x70]
imul eax, dword [ebx - 0x74]
add edx, eax
mov eax, dword [edi + 0x6c]
imul eax, dword [ebx - 0x70]
add edx, eax
mov eax, dword [edi + 0x68]
imul eax, dword [ebx - 0x6c]
add edx, eax
mov eax, dword [edi + 0x64]
imul eax, dword [ebx - 0x68]
add edx, eax
mov eax, dword [edi + 0x60]
imul eax, dword [ebx - 0x64]
add edx, eax
mov eax, dword [edi + 0x5c]
imul eax, dword [ebx - 0x60]
add edx, eax
mov eax, dword [edi + 0x58]
imul eax, dword [ebx - 0x5c]
add edx, eax
mov eax, dword [edi + 0x54]
imul eax, dword [ebx - 0x58]
add edx, eax
mov eax, dword [edi + 0x50]
imul eax, dword [ebx - 0x54]
add edx, eax
mov eax, dword [edi + 0x4c]
imul eax, dword [ebx - 0x50]
add edx, eax
mov eax, dword [edi + 0x48]
imul eax, dword [ebx - 0x4c]
add edx, eax
mov eax, dword [edi + 0x44]
imul eax, dword [ebx - 0x48]
add edx, eax
mov eax, dword [edi + 0x40]
imul eax, dword [ebx - 0x44]
add edx, eax
mov eax, dword [edi + 0x3c]
imul eax, dword [ebx - 0x40]
add edx, eax
mov eax, dword [edi + 0x38]
imul eax, dword [ebx - 0x3c]
add edx, eax
mov eax, dword [edi + 0x34]
imul eax, dword [ebx - 0x38]
add edx, eax
mov eax, dword [edi + 0x30]
imul eax, dword [ebx - 0x34]
add edx, eax
mov eax, dword [edi + 0x2c]
imul eax, dword [ebx - 0x30]
add edx, eax
mov eax, dword [edi + 0x28]
imul eax, dword [ebx - 0x2c]
add edx, eax
mov eax, dword [edi + 0x24]
imul eax, dword [ebx - 0x28]
add edx, eax
mov eax, dword [edi + 0x20]
imul eax, dword [ebx - 0x24]
add edx, eax
mov eax, dword [edi + 0x1c]
imul eax, dword [ebx - 0x20]
add edx, eax
mov eax, dword [edi + 0x18]
imul eax, dword [ebx - 0x1c]
add edx, eax
mov eax, dword [edi + 0x14]
imul eax, dword [ebx - 0x18]
add edx, eax
mov eax, dword [edi + 0x10]
imul eax, dword [ebx - 0x14]
add edx, eax
mov eax, dword [edi + 0xc]
imul eax, dword [ebx - 0x10]
add edx, eax
mov eax, dword [edi + 8]
imul eax, dword [ebx - 0xc]
add edx, eax
mov eax, dword [edi + 4]
imul eax, dword [ebx - 8]
add edx, eax
mov eax, dword [ebx - 4]
imul eax, dword [edi]
add edx, eax
mov ecx, dword [ebp + 0x1c]
sar edx, cl
add edx, dword [ebp - 0x10]
mov dword [ebx], edx
add ebx, 4
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], ecx
cmp ecx, dword [ebp + 0x10]
jb 0x59b0e0
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret