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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1a4
push ebx
mov ebx, dword [ebp + 0x14]
push esi
push edi
mov edi, ecx
mov esi, edx
mov ecx, dword [ebp + 0x20]
push ebx
push 4
mov dword [esp + 0x28], esi
mov eax, dword [ecx + 8]
mov edx, eax
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x9c], ecx
push ecx
mov ecx, eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x50], eax
call fcn.00722570
mov ecx, dword [ebp + 0x20]
add esp, 0xc
mov edx, dword [esp + 0x94]
mov dword [esp + 0x2c], eax
neg eax
sbb eax, eax
mov dword [ecx], 0
and eax, 4
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x40]
cmp eax, 4
jl 0x723af5
cmp edx, 4
jge 0x723afc
mov dword [ebp + 0x1c], 0
push edx
mov edx, eax
call fcn.0071a590
add esp, 4
test eax, eax
je 0x7253fe
cmp dword [esp + 0x2c], 0
je 0x723b1b
call fcn.0072c020
cmp dword [ebp + 0x1c], 0
je 0x723d0e
cmp dword [0x94a244], 0
jne 0x723cb8
movsd xmm3, qword [0x8a9af8]
xor eax, eax
movsd xmm4, qword [0x8a9b88]
movsd xmm1, qword [0x8a9d78]
movsd xmm2, qword [0x8a9b98]
movsd xmm5, qword [0x8a9c88]
movsd xmm6, qword [0x8a9d08]
mov dword [esp + 0x34], eax
movsd qword [esp + 0x70], xmm3
movsd qword [esp + 0xb8], xmm4
movsd qword [esp + 0x98], xmm1
movsd qword [esp + 0xa0], xmm2
movsd qword [esp + 0xb0], xmm5
movsd qword [esp + 0x60], xmm6
nop dword [eax + eax]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
comisd xmm4, xmm0
jb 0x723bbc
divsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
jmp 0x723c04
addsd xmm0, xmm2
movaps xmm1, xmm6
mulsd xmm0, xmm5
call fcn.007e90f0
movsd xmm1, qword [esp + 0x98]
movsd xmm2, qword [esp + 0xa0]
movsd xmm3, qword [esp + 0x70]
movsd xmm4, qword [esp + 0xb8]
movsd xmm5, qword [esp + 0xb0]
movsd xmm6, qword [esp + 0x60]
mov eax, dword [esp + 0x34]
cvtsd2ss xmm0, xmm0
movss dword [eax*4 + 0x94a2d0], xmm0
inc eax
mov dword [esp + 0x34], eax
cmp eax, 0x3ff
jle 0x723ba0
movsd xmm2, qword [0x8a9b50]
xor eax, eax
mov dword [esp + 0x34], eax
nop word [eax + eax]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x8a9b58]
comisd xmm2, xmm0
jb 0x723c4c
mulsd xmm0, xmm1
jmp 0x723c7f
movsd xmm1, qword [0x8a9c00]
call fcn.007e90f0
mulsd xmm0, qword [0x8a9cb8]
mov eax, dword [esp + 0x34]
movsd xmm1, qword [esp + 0x98]
movsd xmm2, qword [0x8a9b50]
subsd xmm0, qword [esp + 0xa0]
mulsd xmm0, qword [0x8a9f88]
cvtsd2ss xmm0, xmm0
movss dword [eax*4 + 0x94a248], xmm0
inc eax
mov dword [esp + 0x34], eax
cmp eax, 0x20
jle 0x723c30
movss xmm0, dword [0x94a2c8]
movss dword [0x94a2cc], xmm0
mov dword [0x94a244], 1
push dword [ebp + 0x20]
mov edx, esi
push ebx
push ecx
push dword [ebp + 8]
mov ecx, edi
call fcn.007230a0
add esp, 0x10
test eax, eax
je 0x7253fe
cmp dword [esp + 0x2c], 0
je 0x7253f2
mov eax, dword [ebp + 0x20]
push dword [eax + 0x28]
push dword [eax + 0x24]
mov eax, dword [esp + 0x48]
push dword [esp + 0x9c]
push eax
push ebx
push dword [esp + 0x58]
call dword [0x94dd34]
add esp, 0x18
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x40]
inc eax
sar eax, 1
mov dword [esp + 0x84], eax
shl eax, 2
mov dword [esp + 0x80], eax
cdq
mov edi, eax
mov ecx, edx
shld ecx, edi, 1
mov dword [esp + 0x60], ecx
mov ecx, eax
or ecx, edx
je 0x723d61
push edx
push eax
push 0
push 0x7fff0000
call fcn.00796610
test edx, edx
jb 0x723d59
ja 0x723d52
cmp eax, 2
jb 0x723d59
cmp dword [esp + 0x60], 0
je 0x723d61
xor edi, edi
mov dword [esp + 0x30], edi
jmp 0x723d79
mov eax, dword [esp + 0x80]
add eax, eax
push eax
call fcn.007a1137
add esp, 4
mov dword [esp + 0x30], eax
mov edi, eax
mov ecx, dword [ebp + 0x20]
movss xmm1, dword [ebp + 0x18]
comiss xmm1, dword [0x8a9a18]
mov dword [esp + 0x48], 0
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x6c], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x4c], eax
mov eax, dword [ecx + 0x24]
mov dword [esp + 0x14], eax
jbe 0x723dc5
lea ecx, [esp + 0xc8]
call fcn.0072ba20
lea eax, [esp + 0xc8]
mov dword [esp + 0x48], eax
call fcn.0072db20
cmp dword [0x949fbc], 0
jne 0x723e7b
xor esi, esi
nop dword [eax]
movsd xmm1, qword [0x8a9c60]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x8a9b18]
call fcn.007e90f0
mulsd xmm0, qword [0x8a9fa0]
addsd xmm0, qword [0x8a9c08]
cvttsd2si eax, xmm0
mov word [esi*2 + 0x949fc0], ax
inc esi
cmp esi, 0xff
jle 0x723de0
mov esi, dword [esp + 0x20]
xor ebx, ebx
nop dword [eax + eax]
movsd xmm1, qword [0x8a9cc8]
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x8a9b60]
call fcn.007e90f0
mulsd xmm0, qword [0x8a9f28]
addsd xmm0, qword [0x8a9c08]
cvttsd2si eax, xmm0
mov dword [ebx*4 + 0x94a1c0], eax
inc ebx
cmp ebx, 0x20
jle 0x723e30
mov ebx, dword [ebp + 0x14]
mov dword [0x949fbc], 1
test edi, edi
je 0x7253fe
mov eax, dword [esp + 0x94]
mov edi, 0x200
sar eax, 1
mov dword [esp + 0x60], eax
test eax, eax
jle 0x724b4f
mov edx, dword [esp + 0x40]
mov eax, edx
mov ecx, dword [esp + 0x30]
sub ecx, dword [esp + 0xc]
sar eax, 1
mov dword [esp + 0x78], eax
mov eax, edx
and eax, 1
mov dword [esp + 0x34], ecx
mov dword [esp + 0x80], eax
mov ecx, 4
lea eax, [ebx + ebx]
mov dword [esp + 0x98], eax
mov eax, ebx
neg eax
add eax, eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xc]
add eax, 4
sub ecx, ebx
mov dword [esp + 0xac], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x58], eax
mov dword [esp + 0x18], ecx
xor edi, edi
test edx, edx
jle 0x723f5b
sub ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xc]
sub ecx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
nop word [eax + eax]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esi]
movzx ecx, byte [ecx + esi]
push ebx
movzx eax, byte [eax + esi]
push eax
call fcn.00722630
mov ecx, dword [esp + 0x44]
lea esi, [esi + 4]
mov edx, dword [esp + 0x48]
add esp, 8
mov byte [edi + ecx], al
inc edi
mov ecx, dword [esp + 0x28]
cmp edi, edx
jl 0x723f20
mov ebx, dword [ebp + 0x14]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edi, dword [ebp + 0x20]
mov eax, dword [esp + 0xc]
mov edi, dword [edi + 0x1c]
mov dword [esp + 0x38], edi
xor edi, edi
test edx, edx
jle 0x723fcf
sub ecx, dword [esp + 0x20]
add esi, ebx
mov dword [esp + 0x24], ecx
mov ecx, eax
sub ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x1c], ecx
nop word [eax + eax]
push dword [esp + 0x48]
movzx eax, byte [esi + ebx]
movzx edx, byte [esi]
movzx ecx, byte [esi + ecx]
push eax
call fcn.00722630
mov ecx, dword [esp + 0x40]
lea esi, [esi + 4]
add ecx, dword [esp + 0x44]
add esp, 8
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x24]
mov byte [edi + ecx], al
inc edi
mov ecx, dword [esp + 0x1c]
cmp edi, edx
jl 0x723f90
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx + 0x1c]
jmp 0x723fd6
mov eax, dword [esp + 0x38]
mov ecx, dword [ebp + 0x20]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x20]
lea esi, [esi + eax*2]
mov dword [esp + 0x3c], esi
mov esi, dword [ebp + 0x14]
je 0x7246df
push dword [ecx + 0x28]
mov edi, dword [esp + 0x48]
push dword [esp + 0x18]
push 2
push edx
push esi
push edi
call dword [0x94dd34]
mov ecx, dword [esp + 0x2c]
add esp, 0x18
neg eax
sbb eax, eax
inc eax
and eax, dword [esp + 0x2c]
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x28]
lea ecx, [ecx + eax*2]
mov dword [esp + 0x14], ecx
je 0x7246df
mov eax, dword [esp + 0x30]
xor ebx, ebx
mov dword [esp + 0x54], eax
cmp dword [esp + 0x78], ebx
jle 0x72446c
mov eax, dword [esp + 0x20]
mov ecx, eax
mov edx, dword [esp + 0xc]
sub ecx, edx
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x8c], edi
sub dword [esp + 0x8c], edx
mov dword [esp + 0x90], ecx
sub dword [esp + 0x90], edx
mov edx, edi
sub edx, ecx
mov dword [esp + 0xb0], edx
mov edx, edi
mov edi, dword [esp + 0x78]
sub edx, eax
sub eax, ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], edi
jmp 0x72409a
mov ecx, dword [esp + 0x18]
add ecx, ebx
add eax, ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x7c], eax
add ecx, esi
add eax, edx
mov dword [esp + 0xa8], ecx
movzx edx, byte [eax + esi + 4]
mov esi, dword [esp + 0x8c]
movzx eax, byte [eax]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x24], eax
movzx edi, byte [ecx + edx]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x38], edi
add edi, eax
add edi, dword [esp + 0x50]
lea edx, [ebx + ecx]
movzx esi, byte [esi + edx]
add edi, esi
mov dword [esp + 0xc4], esi
mov esi, dword [ebp + 0x14]
mov dword [esp + 0x10], edx
cmp edi, 0x3fc
je 0x7242b9
test edi, edi
je 0x7242b9
mov ecx, dword [ebp + 0x14]
mov esi, dword [edi*4 + 0x86a3b8]
movzx eax, byte [ecx + edx - 4]
movzx edx, word [eax*2 + 0x949fc0]
imul edx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + ecx]
mov ecx, dword [esp + 0x10]
movzx eax, word [eax*2 + 0x949fc0]
imul eax, dword [esp + 0x50]
add edx, eax
movzx eax, byte [ecx - 4]
movzx eax, word [eax*2 + 0x949fc0]
imul eax, dword [esp + 0x24]
add edx, eax
movzx eax, byte [ecx]
mov ecx, 0x200
movzx eax, word [eax*2 + 0x949fc0]
imul eax, dword [esp + 0xc4]
add edx, eax
imul edx, esi
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0xb8]
sar eax, 7
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x10]
movzx eax, byte [ecx + eax]
mov ecx, dword [esp + 0x1c]
movzx edx, word [eax*2 + 0x949fc0]
mov eax, dword [esp + 0xa8]
imul edx, dword [esp + 0xc4]
movzx eax, byte [eax + ecx]
mov ecx, dword [esp + 0x7c]
movzx eax, word [eax*2 + 0x949fc0]
imul eax, dword [esp + 0x38]
add edx, eax
mov eax, dword [ebp + 0x14]
movzx eax, byte [ecx + eax + 4]
movzx eax, word [eax*2 + 0x949fc0]
imul eax, dword [esp + 0x50]
add edx, eax
movzx eax, byte [ecx]
mov ecx, 0x200
movzx eax, word [eax*2 + 0x949fc0]
imul eax, dword [esp + 0x24]
add edx, eax
imul edx, esi
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x90]
sar eax, 7
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x10]
movzx eax, byte [ecx + eax]
mov ecx, dword [esp + 0x5c]
movzx edx, word [eax*2 + 0x949fc0]
mov eax, dword [ebp + 0x14]
imul edx, dword [esp + 0xc4]
movzx eax, byte [ecx + eax + 4]
movzx eax, word [eax*2 + 0x949fc0]
imul eax, dword [esp + 0x50]
add edx, eax
mov eax, dword [esp + 0xa8]
movzx eax, byte [eax]
movzx eax, word [eax*2 + 0x949fc0]
imul eax, dword [esp + 0x38]
add edx, eax
movzx eax, byte [ecx]
movzx eax, word [eax*2 + 0x949fc0]
imul eax, dword [esp + 0x24]
add edx, eax
imul edx, esi
shr edx, 0x11
mov eax, edx
sar eax, 9
jmp 0x7243ef
add ecx, esi
movzx eax, byte [ecx + ebx]
movzx edx, word [eax*2 + 0x949fc0]
movzx eax, byte [ecx + ebx - 4]
mov ecx, dword [esp + 0x10]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
movzx eax, byte [ecx - 4]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
movzx eax, byte [ecx]
mov ecx, 0x200
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
mov eax, edx
and edx, 0x1ff
shr eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x20]
sar eax, 7
add ecx, esi
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xac]
add eax, ecx
movzx eax, byte [eax + ebx]
movzx edx, word [eax*2 + 0x949fc0]
movzx eax, byte [ecx + ebx + 4]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
movzx eax, byte [ecx + ebx]
mov ecx, dword [esp + 0x7c]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
movzx eax, byte [ecx]
mov ecx, 0x200
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
mov eax, edx
and edx, 0x1ff
shr eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x18]
sar eax, 7
add ecx, esi
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xac]
add eax, ecx
movzx eax, byte [eax + ebx]
movzx edx, word [eax*2 + 0x949fc0]
movzx eax, byte [ecx + ebx]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
movzx eax, byte [ecx + ebx + 4]
mov ecx, dword [esp + 0x5c]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
movzx eax, byte [ecx]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
mov eax, edx
shr eax, 9
and edx, 0x1ff
mov ecx, 0x200
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
mov edx, dword [esp + 0x30]
add eax, 0x40
mov word [edx + ebx + 6], di
add eax, ecx
mov ecx, dword [esp + 0x88]
sar eax, 7
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x5c]
add dword [esp + 0x54], 8
mov word [eax], cx
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x34]
mov word [edx + ebx + 2], cx
add ebx, 8
sub dword [esp + 0x28], 1
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x70]
mov word [ecx + eax], si
mov esi, dword [ebp + 0x14]
mov eax, dword [esp + 0x1c]
jne 0x724096
mov edi, dword [esp + 0x44]
cmp dword [esp + 0x80], 0
je 0x724a37
lea eax, [ebx + edi]
movzx ecx, byte [eax + esi]
movzx eax, byte [eax]
mov dword [esp + 0x38], eax
add eax, ecx
add eax, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x70], eax
cmp eax, 0x3fc
je 0x7245d0
test eax, eax
je 0x7245d0
mov esi, dword [eax*4 + 0x86a3b8]
mov ecx, dword [esp + 0xc]
mov edi, dword [ebp + 0x14]
add ecx, ebx
movzx eax, byte [ecx + edi]
movzx edx, word [eax*2 + 0x949fc0]
movzx eax, byte [ecx]
mov ecx, 0x200
imul edx, dword [esp + 0x24]
movzx eax, word [eax*2 + 0x949fc0]
imul eax, dword [esp + 0x38]
add edx, eax
imul edx, esi
add edx, edx
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sub ecx, edx
sar eax, 9
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x20]
sar eax, 7
add ecx, ebx
mov dword [esp + 0x1c], eax
movzx eax, byte [ecx + edi]
movzx edx, word [eax*2 + 0x949fc0]
movzx eax, byte [ecx]
mov ecx, 0x200
imul edx, dword [esp + 0x24]
movzx eax, word [eax*2 + 0x949fc0]
imul eax, dword [esp + 0x38]
add edx, eax
imul edx, esi
add edx, edx
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x18]
sar eax, 7
add ecx, ebx
mov dword [esp + 0x28], eax
movzx eax, byte [ecx + edi]
movzx edx, word [eax*2 + 0x949fc0]
movzx eax, byte [ecx]
mov ecx, 0x200
imul edx, dword [esp + 0x24]
movzx eax, word [eax*2 + 0x949fc0]
imul eax, dword [esp + 0x38]
add edx, eax
imul edx, esi
add edx, edx
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul edx, eax
add edx, 0x40
jmp 0x7246b6
mov ecx, dword [esp + 0xc]
mov edi, 0x200
add ecx, ebx
movzx eax, byte [ecx + esi]
movzx edx, word [eax*2 + 0x949fc0]
movzx eax, byte [ecx]
mov ecx, edi
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x20]
sar eax, 7
add ecx, ebx
mov dword [esp + 0x1c], eax
movzx eax, byte [ecx + esi]
movzx edx, word [eax*2 + 0x949fc0]
movzx eax, byte [ecx]
mov ecx, edi
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x18]
sar eax, 7
add ecx, ebx
mov dword [esp + 0x28], eax
movzx eax, byte [ecx + esi]
movzx edx, word [eax*2 + 0x949fc0]
movzx eax, byte [ecx]
mov ecx, edi
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul edx, eax
add ecx, 0x40
mov eax, dword [esp + 0x54]
add edx, ecx
mov ecx, dword [esp + 0x1c]
sar edx, 7
mov word [eax], cx
mov ecx, dword [esp + 0x28]
mov word [eax + 2], cx
mov ecx, dword [esp + 0x70]
mov word [eax + 4], dx
mov word [eax + 6], cx
jmp 0x724a37
mov edi, dword [esp + 0x78]
xor ecx, ecx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], ecx
test edi, edi
jle 0x724933
mov edx, dword [esp + 0x58]
lea eax, [edx - 4]
add eax, esi
mov ecx, eax
sub eax, edx
mov dword [esp + 0xb0], eax
sub ecx, edx
mov eax, dword [esp + 0xc]
sub eax, edx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x28], eax
lea ecx, [ebx + esi]
mov eax, ecx
sub ebx, edx
sub eax, edx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xac]
sub eax, edx
add eax, ecx
sub ecx, edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x18]
lea ebx, [ecx + esi]
mov esi, dword [esp + 0x54]
mov eax, ebx
sub eax, edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xac]
sub eax, edx
add eax, ebx
sub ebx, edx
mov dword [esp + 0x24], eax
mov eax, ecx
sub eax, edx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x8c], eax
mov ebx, edx
mov eax, edi
mov edi, 0x200
mov dword [esp + 0x1c], eax
shl eax, 3
mov dword [esp + 0x50], eax
nop word [eax + eax]
mov eax, dword [esp + 0xb8]
lea ebx, [ebx + 8]
mov ecx, edi
movzx eax, byte [eax + ebx - 4]
movzx edx, word [eax*2 + 0x949fc0]
mov eax, dword [esp + 0xb0]
movzx eax, byte [eax + ebx - 8]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
mov eax, dword [esp + 0x28]
movzx eax, byte [ebx + eax - 8]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
movzx eax, byte [ebx - 8]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
mov eax, edx
and edx, 0x1ff
shr eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, edi
sar eax, 7
mov word [esi], ax
mov eax, dword [esp + 0x88]
movzx eax, byte [eax + ebx - 8]
movzx edx, word [eax*2 + 0x949fc0]
mov eax, dword [esp + 0x5c]
movzx eax, byte [eax + ebx - 4]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + ebx - 8]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
mov eax, dword [esp + 0xa8]
movzx eax, byte [ebx + eax - 8]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
mov eax, edx
and edx, 0x1ff
shr eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, edi
sar eax, 7
mov word [esi + 2], ax
mov eax, dword [esp + 0x24]
movzx eax, byte [eax + ebx - 8]
movzx edx, word [eax*2 + 0x949fc0]
mov eax, dword [esp + 0x38]
movzx eax, byte [eax + ebx - 4]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
mov eax, dword [esp + 0x90]
movzx eax, byte [eax + ebx - 8]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
mov eax, dword [esp + 0x8c]
movzx eax, byte [ebx + eax - 8]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
mov eax, edx
and edx, 0x1ff
shr eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add eax, 0x40
add eax, ecx
sar eax, 7
mov word [esi + 4], ax
add esi, 8
sub dword [esp + 0x1c], 1
jne 0x7247a0
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x54], esi
mov esi, dword [ebp + 0x14]
jmp 0x724938
mov edi, 0x200
cmp dword [esp + 0x80], 0
je 0x724a37
add ecx, dword [esp + 0xc]
movzx eax, byte [ecx + esi]
movzx edx, word [eax*2 + 0x949fc0]
movzx eax, byte [ecx]
mov ecx, edi
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add eax, 0x40
add eax, ecx
mov ecx, dword [esp + 0x54]
sar eax, 7
mov word [ecx], ax
mov ecx, dword [esp + 0x50]
add ecx, ebx
mov ebx, dword [esp + 0x54]
movzx eax, byte [ecx + esi]
movzx edx, word [eax*2 + 0x949fc0]
movzx eax, byte [ecx]
mov ecx, edi
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add eax, 0x40
add eax, ecx
mov ecx, dword [esp + 0x50]
add ecx, dword [esp + 0x18]
sar eax, 7
mov word [ebx + 2], ax
movzx eax, byte [ecx + esi]
movzx edx, word [eax*2 + 0x949fc0]
movzx eax, byte [ecx]
mov ecx, edi
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add eax, 0x40
add eax, ecx
sar eax, 7
mov word [ebx + 4], ax
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x724a60
push dword [esp + 0x84]
push dword [esp + 0x50]
push dword [esp + 0x74]
push dword [esp + 0x3c]
call dword [0x94dcbc]
add esp, 0x10
jmp 0x724ae3
mov esi, dword [esp + 0x84]
test esi, esi
jle 0x724ae3
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x4c]
add eax, 4
mov edx, dword [esp + 0x6c]
sub edx, ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x70], edx
mov dword [esp + 0x28], esi
jmp 0x724a94
mov ecx, dword [esp + 0x48]
movzx ebx, word [eax - 4]
movzx edi, word [eax - 2]
movzx esi, word [eax]
mov edx, edi
push ecx
push esi
mov ecx, ebx
call fcn.007226f0
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x78]
push dword [esp + 0x50]
push esi
mov byte [edx + ecx], al
mov edx, edi
mov ecx, ebx
call fcn.007227c0
mov ecx, dword [esp + 0x34]
add esp, 0x10
mov byte [ecx], al
inc ecx
mov eax, dword [esp + 0x1c]
add eax, 8
mov dword [esp + 0x24], ecx
sub dword [esp + 0x28], 1
mov dword [esp + 0x1c], eax
jne 0x724a90
mov eax, dword [ebp + 0x20]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0xa0]
add dword [esp + 0x34], ecx
mov eax, dword [eax + 0x20]
add dword [esp + 0x6c], eax
add dword [esp + 0x4c], eax
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
add ecx, eax
add dword [esp + 0xc], eax
add esi, eax
add dword [esp + 0x58], eax
lea edi, [edx + eax]
cmp dword [esp + 0x2c], 0
mov ebx, dword [ebp + 0x14]
cmove edi, edx
mov dword [esp + 0x18], ecx
sub dword [esp + 0x60], 1
mov edx, dword [esp + 0x40]
mov dword [esp + 0x20], esi
mov dword [esp + 0x44], edi
jne 0x723ef8
mov dword [esp + 0x44], edi
mov edi, 0x200
jmp 0x724b56
mov ecx, dword [ebp + 8]
mov dword [esp + 0x18], ecx
test byte [esp + 0x94], 1
je 0x7253e6
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x60], 0
test ebx, ebx
jle 0x724bce
mov eax, ecx
mov dword [esp + 0xa0], esi
mov ecx, dword [esp + 0xc]
sub eax, esi
sub ecx, esi
mov dword [esp + 0x98], eax
mov dword [esp + 0x70], ecx
push dword [esp + 0x48]
movzx eax, byte [eax + esi]
movzx edx, byte [esi]
movzx ecx, byte [ecx + esi]
push eax
call fcn.00722630
mov ecx, dword [esp + 0x68]
lea esi, [esi + 4]
mov edx, dword [esp + 0x44]
add esp, 8
mov byte [ecx + edx], al
inc ecx
mov eax, dword [esp + 0x98]
cmp ecx, ebx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x70]
jl 0x724b90
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x724bf7
push 0
push dword [esp + 0x18]
push 1
push ebx
push 0
push dword [esp + 0x58]
call dword [0x94dd34]
add esp, 0x18
neg eax
sbb eax, eax
inc eax
and eax, dword [esp + 0x2c]
mov ecx, ebx
sar ecx, 1
test eax, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x78], ecx
jne 0x724e58
mov ebx, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
test ecx, ecx
jle 0x724d82
mov eax, dword [esp + 0xc]
mov edx, esi
sub edx, eax
mov dword [esp + 0x70], edx
mov edx, esi
sub edx, eax
mov esi, ecx
mov dword [esp + 0x98], edx
mov edx, ebx
sub edx, eax
sub ebx, eax
lea eax, [ecx*8]
mov dword [esp + 0xb8], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xb0], edx
mov dword [esp + 0x14], eax
nop dword [eax]
movzx eax, byte [ebx + 4]
lea ebx, [ebx + 8]
mov ecx, edi
movzx edx, word [eax*2 + 0x949fc0]
movzx eax, byte [ebx - 8]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add eax, 0x40
add eax, ecx
mov ecx, dword [esp + 0x10]
sar eax, 7
mov word [ecx], ax
mov ecx, edi
mov eax, dword [esp + 0x98]
movzx eax, byte [eax + ebx - 8]
movzx edx, word [eax*2 + 0x949fc0]
mov eax, dword [esp + 0x70]
movzx eax, byte [eax + ebx - 4]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add eax, 0x40
add eax, ecx
mov ecx, dword [esp + 0x10]
sar eax, 7
mov word [ecx + 2], ax
mov ecx, edi
mov eax, dword [esp + 0xb8]
movzx eax, byte [eax + ebx - 8]
movzx edx, word [eax*2 + 0x949fc0]
mov eax, dword [esp + 0xb0]
movzx eax, byte [eax + ebx - 4]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
mov edx, dword [esp + 0x10]
add eax, 0x40
add eax, ecx
sar eax, 7
mov word [edx + 4], ax
add edx, 8
mov dword [esp + 0x10], edx
sub esi, 1
jne 0x724c60
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
test al, 1
je 0x725348
mov eax, dword [esp + 0xc]
mov ecx, edi
movzx eax, byte [edx + eax]
movzx edx, word [eax*2 + 0x949fc0]
shl edx, 2
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x10]
sar eax, 7
mov word [ecx], ax
mov ecx, edi
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + esi]
movzx edx, word [eax*2 + 0x949fc0]
shl edx, 2
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
mov edx, dword [esp + 0x10]
add eax, 0x40
add eax, ecx
sar eax, 7
mov word [edx + 2], ax
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + ebx]
movzx ecx, word [eax*2 + 0x949fc0]
shl ecx, 2
mov eax, ecx
and ecx, 0x1ff
sar eax, 9
sub edi, ecx
imul edi, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, ecx
add eax, 0x40
add eax, edi
sar eax, 7
mov word [edx + 4], ax
jmp 0x725348
mov dword [esp + 0x58], eax
mov dword [esp + 0x3c], 0
test ecx, ecx
jle 0x72517f
mov ecx, dword [esp + 0xc]
lea edx, [esi + 4]
mov dword [esp + 0xb0], edx
sub eax, esi
mov dword [esp + 0x2c], edx
mov edx, ecx
sub edx, esi
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x70], edx
sub eax, ecx
mov edx, dword [esp + 0x18]
sub edx, esi
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb8], edx
sub eax, ecx
mov edx, dword [esp + 0x44]
sub edx, esi
mov dword [esp + 0x60], eax
mov dword [esp + 0xa0], edx
xor esi, esi
mov edx, dword [esp + 0x2c]
mov eax, ecx
mov dword [esp + 0x10], ecx
nop dword [eax]
mov ebx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x98]
movzx ebx, byte [ebx + edx]
mov dword [esp + 0x14], ebx
movzx ebx, byte [ecx + eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
add eax, ebx
add eax, eax
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x5c], eax
cmp eax, 0x3fc
je 0x725023
test eax, eax
je 0x725023
mov esi, dword [eax*4 + 0x86a3b8]
mov ecx, edi
mov eax, dword [esp + 0x70]
movzx eax, byte [edx + eax]
movzx edx, word [eax*2 + 0x949fc0]
imul edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
movzx eax, word [eax*2 + 0x949fc0]
imul eax, dword [esp + 0x34]
add edx, eax
imul edx, esi
add edx, edx
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add eax, 0x40
add eax, ecx
mov ecx, dword [esp + 0x2c]
sar eax, 7
mov dword [esp + 0x80], eax
movzx eax, byte [ecx - 4]
movzx edx, word [eax*2 + 0x949fc0]
movzx eax, byte [ecx]
mov ecx, edi
imul edx, dword [esp + 0x34]
movzx eax, word [eax*2 + 0x949fc0]
imul eax, dword [esp + 0x14]
add edx, eax
imul edx, esi
add edx, edx
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add eax, 0x40
add eax, ecx
mov ecx, dword [esp + 0xb8]
sar eax, 7
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + ecx]
mov ecx, dword [esp + 0x60]
movzx edx, word [eax*2 + 0x949fc0]
mov eax, dword [esp + 0x10]
imul edx, dword [esp + 0x14]
movzx eax, byte [ecx + eax]
movzx eax, word [eax*2 + 0x949fc0]
imul eax, dword [esp + 0x34]
add edx, eax
imul edx, esi
mov esi, dword [esp + 0x3c]
add edx, edx
shr edx, 0x11
jmp 0x7250ec
movzx eax, byte [esi + ecx + 4]
mov ecx, edi
movzx edx, word [eax*2 + 0x949fc0]
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add eax, 0x40
add eax, ecx
mov ecx, edi
sar eax, 7
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xb0]
movzx eax, byte [eax + esi]
movzx edx, word [eax*2 + 0x949fc0]
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax - 4]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add eax, 0x40
add eax, ecx
mov ecx, dword [esp + 0x60]
sar eax, 7
mov dword [esp + 0x1c], eax
movzx eax, byte [ebx + esi + 4]
movzx edx, word [eax*2 + 0x949fc0]
mov eax, dword [esp + 0x10]
movzx eax, byte [ecx + eax]
movzx eax, word [eax*2 + 0x949fc0]
add edx, eax
add edx, edx
mov eax, edx
mov ebx, dword [esp + 0x88]
sar eax, 9
and edx, 0x1ff
mov ecx, edi
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
mov edx, dword [esp + 0x2c]
add eax, 0x40
add eax, ecx
mov ecx, dword [esp + 0x80]
sar eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x58]
add dword [esp + 0x58], 8
mov word [eax], cx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
mov word [esi + eax + 2], cx
mov ecx, dword [esp + 0x28]
mov word [ebx + edx], cx
add edx, 8
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x18]
mov word [esi + eax + 6], cx
add esi, 8
mov eax, dword [esp + 0x10]
add eax, 8
mov dword [esp + 0x3c], esi
sub dword [esp + 0x78], 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], edx
jne 0x724ed0
jmp 0x725185
mov ebx, dword [esp + 0x18]
xor esi, esi
mov eax, dword [esp + 0x40]
test al, 1
je 0x725348
mov eax, dword [esp + 0x44]
movzx eax, byte [esi + eax]
mov dword [esp + 0x14], eax
shl eax, 2
cmp eax, 0x3fc
je 0x725274
test eax, eax
je 0x725274
mov esi, dword [eax*4 + 0x86a3b8]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0xc]
movzx eax, byte [ecx + eax]
mov ecx, edi
movzx edx, word [eax*2 + 0x949fc0]
imul edx, esi
imul edx, dword [esp + 0x14]
shl edx, 2
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sub ecx, edx
sar eax, 9
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add eax, 0x40
add eax, ecx
mov ecx, dword [esp + 0x3c]
sar eax, 7
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x20]
movzx eax, byte [ecx + eax]
mov ecx, edi
movzx edx, word [eax*2 + 0x949fc0]
imul edx, esi
imul edx, dword [esp + 0x14]
shl edx, 2
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sub ecx, edx
sar eax, 9
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul edx, eax
mov eax, dword [esp + 0x3c]
movzx eax, byte [eax + ebx]
add edx, 0x40
add edx, ecx
movzx ecx, word [eax*2 + 0x949fc0]
imul ecx, esi
imul ecx, dword [esp + 0x14]
shl ecx, 2
shr ecx, 0x11
jmp 0x7252fc
mov eax, dword [esp + 0xc]
mov ecx, edi
movzx eax, byte [esi + eax]
movzx edx, word [eax*2 + 0x949fc0]
shl edx, 2
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, edi
sar eax, 7
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x20]
movzx eax, byte [esi + eax]
movzx edx, word [eax*2 + 0x949fc0]
shl edx, 2
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x94a1c0]
mov eax, dword [eax*4 + 0x94a1c4]
imul edx, eax
movzx eax, byte [esi + ebx]
add ecx, 0x40
add edx, ecx
movzx ecx, word [eax*2 + 0x949fc0]
shl ecx, 2
mov eax, ecx
sar edx, 7
sar eax, 9
and ecx, 0x1ff
sub edi, ecx
imul edi, dword [eax*4 + 0x94a1c0]
mov esi, dword [eax*4 + 0x94a1c4]
mov eax, dword [esp + 0x58]
imul esi, ecx
mov ecx, dword [esp + 0x60]
mov word [eax + 2], dx
mov edx, dword [esp + 0x14]
add esi, 0x40
mov word [eax], cx
add esi, edi
sar esi, 7
lea ecx, [edx*4]
mov word [eax + 4], si
mov word [eax + 6], cx
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x72536e
push dword [esp + 0x84]
push dword [esp + 0x50]
push dword [esp + 0x74]
push dword [esp + 0x3c]
call dword [0x94dcbc]
add esp, 0x10
jmp 0x7253e6
cmp dword [esp + 0x84], 0
jle 0x7253e6
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x6c]
add ecx, 4
sub edx, dword [esp + 0x4c]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x6c], edx
nop
movzx edi, word [ecx - 2]
movzx esi, word [ecx]
mov edx, edi
movzx ebx, word [ecx - 4]
push eax
push esi
mov ecx, ebx
call fcn.007226f0
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x74]
push dword [esp + 0x50]
push esi
mov byte [ecx + edx], al
mov edx, edi
mov ecx, ebx
call fcn.007227c0
mov ecx, dword [esp + 0x5c]
add esp, 0x10
mov byte [ecx], al
inc ecx
mov eax, dword [esp + 0x48]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x60]
add ecx, 8
sub dword [esp + 0x84], 1
mov dword [esp + 0x60], ecx
jne 0x725390
push dword [esp + 0x30]
call fcn.007a0961
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret