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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xfc
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x98], edx
mov edx, dword [ecx + 8]
push ebx
push esi
mov esi, dword [eax + 8]
mov dword [esp + 0x9c], edx
mov edx, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
mov dword [esp + 0x60], eax
mov eax, dword [ecx + 0x24]
sub edx, 1
cmp eax, 8
push edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x9c], esi
mov dword [esp + 0x60], edx
je 0x10011225
cmp eax, 0x18
jne 0x10011354
xor edi, edi
cmp dword [ebp + 0x14], edi
mov dword [esp + 0x44], edi
jle 0x10011354
mov dword [esp + 0x5c], edi
xor edx, edx
cmp dword [ebp + 0x10], edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], edx
jle 0x10010b6c
fild dword [esp + 0x44]
fst qword [esp + 0x94]
mov eax, dword [ebp + 0xc]
fild dword [esp + 0x1c]
fld st(0)
fmul qword [eax + 0x10]
fld qword [esp + 0x94]
fmul qword [eax + 0x20]
faddp st(1)
fadd qword [eax]
fstp qword [esp + 0x10]
fmul qword [eax + 0x28]
fld qword [esp + 0x94]
fmul qword [eax + 0x18]
faddp st(1)
fadd qword [eax + 8]
fstp qword [esp + 0x30]
fld qword [esp + 0x10]
fcomp qword [0x307f070]
fnstsw ax
test ah, 5
jnp 0x10010b34
fld qword [esp + 0x30]
fcomp qword [0x307f070]
fnstsw ax
test ah, 5
jnp 0x10010b34
mov eax, dword [esp + 0x60]
fld qword [esp + 0x10]
fnstcw word [esp + 0xc]
lea ebx, [eax - 2]
movzx eax, word [esp + 0xc]
or ah, 0xc
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp qword [esp + 0x50]
cmp dword [esp + 0x50], ebx
fldcw word [esp + 0xc]
jge 0x10010b34
mov eax, dword [esp + 0x64]
fld qword [esp + 0x30]
fnstcw word [esp + 0xc]
lea ebx, [eax - 2]
movzx eax, word [esp + 0xc]
or ah, 0xc
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp qword [esp + 0x50]
cmp dword [esp + 0x50], ebx
fldcw word [esp + 0xc]
jl 0x10010b98
movzx ebx, byte [ecx + 0x39]
mov eax, dword [esp + 0x4c]
mov byte [edi + eax], bl
movzx ebx, byte [ecx + 0x3a]
add edi, 1
mov byte [edi + eax], bl
movzx ebx, byte [ecx + 0x3b]
add edi, 1
add edx, 1
mov byte [edi + eax], bl
add edi, 1
cmp edx, dword [ebp + 0x10]
mov dword [esp + 0x1c], edx
jl 0x10010a84
mov dword [esp + 0x24], edi
fstp st(0)
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x5c]
add edi, dword [esp + 0xa0]
add eax, 1
cmp eax, dword [ebp + 0x14]
mov dword [esp + 0x44], eax
mov dword [esp + 0x5c], edi
jl 0x10010a66
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edx, dword [ebp + 0x10]
mov dword [esp + 0x24], edi
jge 0x10010b6a
fstp qword [esp + 0x50]
jmp 0x10010baf
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp + 0xc]
fild dword [esp + 0x1c]
fld st(0)
fmul qword [eax + 0x10]
fld qword [esp + 0x50]
fmul qword [eax + 0x20]
faddp st(1)
fadd qword [eax]
fstp qword [esp + 0x10]
fmul qword [eax + 0x28]
fld qword [esp + 0x50]
fmul qword [eax + 0x18]
faddp st(1)
fadd qword [eax + 8]
fstp qword [esp + 0x30]
fld qword [esp + 0x10]
fcomp qword [0x307f070]
fnstsw ax
test ah, 5
jnp 0x100111e9
fld qword [esp + 0x30]
fcomp qword [0x307f070]
fnstsw ax
test ah, 5
jnp 0x100111e9
fld qword [esp + 0x10]
call fcn.10001036
mov ebx, eax
mov eax, dword [esp + 0x60]
add eax, 0xfffffffe
cmp ebx, eax
jge 0x100111e1
fld qword [esp + 0x30]
call fcn.10001036
mov edi, eax
mov eax, dword [esp + 0x64]
add eax, 0xfffffffe
cmp edi, eax
jge 0x100111dd
fld qword [esp + 0x10]
fmul qword [0x307fa10]
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
or ah, 0xc
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
mov eax, ebx
neg eax
shl eax, 8
mov ecx, eax
fistp qword [esp + 0x10]
mov edx, dword [esp + 0x10]
sub ecx, edx
mov edx, edi
fldcw word [esp + 0xc]
add edi, 0xffffffff
neg edx
shl edx, 8
fld qword [esp + 0x30]
imul edi, esi
fmul qword [0x307fa10]
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
add edi, dword [esp + 0xa4]
or ah, 0xc
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
sub edx, eax
lea eax, [ebx + ebx*2]
lea eax, [eax + edi - 3]
fldcw word [esp + 0xc]
movzx edi, byte [eax]
mov dword [esp + 0xbc], edi
movzx edi, byte [eax + 3]
mov dword [esp + 0xdc], edi
movzx edi, byte [eax + 6]
mov dword [esp + 0xd8], edi
movzx edi, byte [eax + 9]
mov dword [esp + 0xac], edi
movzx edi, byte [eax + 1]
mov dword [esp + 0x18], edi
movzx edi, byte [eax + 4]
mov dword [esp + 0xe8], edi
movzx edi, byte [eax + 7]
mov dword [esp + 0xd0], edi
movzx edi, byte [eax + 0xa]
mov dword [esp + 0xf8], edi
movzx edi, byte [eax + 2]
mov dword [esp + 0x80], edi
movzx edi, byte [eax + 5]
mov dword [esp + 0x6c], edi
movzx edi, byte [eax + 8]
mov dword [esp + 0x74], edi
movzx edi, byte [eax + 0xb]
add eax, esi
mov dword [esp + 0x7c], edi
movzx edi, byte [eax]
mov dword [esp + 0xe4], edi
movzx edi, byte [eax + 3]
mov dword [esp + 0xec], edi
movzx edi, byte [eax + 6]
mov dword [esp + 0xf4], edi
movzx edi, byte [eax + 9]
mov dword [esp + 0xfc], edi
movzx edi, byte [eax + 1]
mov dword [esp + 0xb8], edi
movzx edi, byte [eax + 4]
mov dword [esp + 0x104], edi
movzx edi, byte [eax + 7]
mov dword [esp + 0xb0], edi
movzx edi, byte [eax + 0xa]
mov dword [esp + 0xf0], edi
movzx edi, byte [eax + 2]
mov dword [esp + 0x84], edi
movzx edi, byte [eax + 5]
mov dword [esp + 0x94], edi
movzx edi, byte [eax + 8]
mov dword [esp + 0x30], edi
movzx edi, byte [eax + 0xb]
mov dword [esp + 0x10], edi
movzx edi, byte [eax + esi]
add eax, esi
mov dword [esp + 0xc4], edi
movzx edi, byte [eax + 3]
mov dword [esp + 0xcc], edi
movzx edi, byte [eax + 6]
mov dword [esp + 0xd4], edi
movzx edi, byte [eax + 9]
mov dword [esp + 0xa8], edi
movzx edi, byte [eax + 1]
mov dword [esp + 0xe0], edi
movzx edi, byte [eax + 4]
mov dword [esp + 0xc0], edi
movzx edi, byte [eax + 7]
mov dword [esp + 0x100], edi
movzx edi, byte [eax + 0xa]
mov dword [esp + 0xc8], edi
movzx edi, byte [eax + 2]
mov dword [esp + 0x68], edi
movzx edi, byte [eax + 5]
mov dword [esp + 0x90], edi
movzx edi, byte [eax + 8]
mov dword [esp + 0x78], edi
movzx edi, byte [eax + 0xb]
add eax, esi
mov esi, dword [ecx*4 + 0x3083168]
lea ebx, [ecx*4 + 0x3082968]
mov dword [esp + 0x20], ebx
mov ebx, dword [ebx]
mov dword [esp + 0xc], ebx
mov ebx, dword [edx*4 + 0x3083168]
mov dword [esp + 0x88], edi
mov edi, dword [ecx*4 + 0x3082d68]
mov dword [esp + 0x28], esi
mov dword [esp + 0x70], ebx
mov ebx, dword [edx*4 + 0x3082968]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x3c], ebx
mov ebx, dword [edx*4 + 0x3082d68]
mov edx, dword [edx*4 + 0x3082568]
mov dword [esp + 0x40], edx
movzx edx, byte [eax + 3]
imul edx, dword [esp + 0xc]
lea esi, [ecx*4 + 0x3082d68]
mov dword [esp + 0x8c], ebx
movzx ebx, byte [eax + 6]
imul ebx, edi
movzx edi, byte [eax + 9]
imul edi, dword [esp + 0x28]
mov esi, dword [esi]
imul esi, dword [esp + 0xd8]
add edx, ebx
add edx, edi
movzx edi, byte [eax]
lea ecx, [ecx*4 + 0x3082568]
mov dword [esp + 0xb4], ecx
mov ecx, dword [ecx]
imul edi, ecx
add edx, edi
mov edi, dword [esp + 0x20]
mov edi, dword [edi]
imul edi, dword [esp + 0xdc]
add edi, esi
mov esi, dword [esp + 0x28]
imul esi, dword [esp + 0xac]
add edi, esi
mov esi, dword [esp + 0xb4]
mov esi, dword [esi]
imul esi, dword [esp + 0xbc]
add edi, esi
sar edx, 0x10
imul edx, dword [esp + 0x70]
sar edi, 0x10
imul edi, dword [esp + 0x40]
add edx, edi
mov edi, dword [esp + 0xc]
mov esi, ecx
imul esi, dword [esp + 0xc4]
imul edi, dword [esp + 0xcc]
add esi, edi
mov edi, dword [esp + 0x2c]
imul edi, dword [esp + 0xd4]
add esi, edi
mov edi, dword [esp + 0x28]
imul edi, dword [esp + 0xa8]
add esi, edi
sar esi, 0x10
imul esi, dword [esp + 0x8c]
add edx, esi
mov edi, dword [esp + 0xc]
imul edi, dword [esp + 0xec]
mov esi, ecx
imul esi, dword [esp + 0xe4]
add esi, edi
mov edi, dword [esp + 0x2c]
imul edi, dword [esp + 0xf4]
add esi, edi
mov edi, dword [esp + 0x28]
imul edi, dword [esp + 0xfc]
add esi, edi
sar esi, 0x10
imul esi, dword [esp + 0x3c]
movzx edi, byte [eax + 4]
imul edi, dword [esp + 0xc]
add edx, esi
movzx esi, byte [eax + 1]
imul esi, ecx
add esi, edi
movzx ebx, byte [eax + 7]
mov edi, dword [esp + 0x2c]
imul ebx, edi
imul edi, dword [esp + 0xb0]
add esi, ebx
movzx ebx, byte [eax + 0xa]
imul ebx, dword [esp + 0x28]
add esi, ebx
sar esi, 0x10
imul esi, dword [esp + 0x70]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0xc]
imul esi, dword [esp + 0x104]
add esi, edi
mov edi, dword [esp + 0x28]
imul edi, dword [esp + 0xf0]
add esi, edi
mov edi, ecx
imul edi, dword [esp + 0xb8]
add esi, edi
mov edi, dword [esp + 0xc]
imul edi, dword [esp + 0xc0]
sar esi, 0x10
imul esi, dword [esp + 0x3c]
add dword [esp + 0x20], esi
mov esi, ecx
imul esi, dword [esp + 0xe0]
add esi, edi
mov edi, dword [esp + 0x2c]
imul edi, dword [esp + 0x100]
add esi, edi
mov edi, dword [esp + 0x28]
imul edi, dword [esp + 0xc8]
add esi, edi
sar esi, 0x10
imul esi, dword [esp + 0x8c]
add dword [esp + 0x20], esi
mov esi, dword [esp + 0xc]
imul esi, dword [esp + 0xe8]
mov edi, ecx
imul edi, dword [esp + 0x18]
add edi, esi
mov esi, dword [esp + 0x2c]
imul esi, dword [esp + 0xd0]
add edi, esi
mov esi, dword [esp + 0x28]
imul esi, dword [esp + 0xf8]
add edi, esi
mov esi, dword [esp + 0x20]
sar edi, 0x10
sar edx, 0x10
imul edi, dword [esp + 0x40]
add esi, edi
movzx ebx, byte [eax + 2]
sar esi, 0x10
imul ebx, ecx
mov dword [esp + 0x18], esi
movzx esi, byte [eax + 5]
imul esi, dword [esp + 0xc]
add ebx, esi
movzx esi, byte [eax + 8]
imul esi, dword [esp + 0x2c]
add ebx, esi
movzx esi, byte [eax + 0xb]
mov eax, dword [esp + 0x28]
imul esi, eax
mov edi, dword [esp + 0xc]
imul edi, dword [esp + 0x90]
add ebx, esi
mov esi, ecx
imul esi, dword [esp + 0x68]
add esi, edi
mov edi, dword [esp + 0x2c]
imul edi, dword [esp + 0x78]
add esi, edi
mov edi, eax
imul edi, dword [esp + 0x88]
add esi, edi
mov edi, dword [esp + 0xc]
imul edi, dword [esp + 0x6c]
sar esi, 0x10
imul esi, dword [esp + 0x8c]
sar ebx, 0x10
imul ebx, dword [esp + 0x70]
add ebx, esi
mov esi, ecx
imul ecx, dword [esp + 0x84]
imul esi, dword [esp + 0x80]
add esi, edi
mov edi, dword [esp + 0x2c]
imul edi, dword [esp + 0x74]
add esi, edi
mov edi, eax
imul eax, dword [esp + 0x10]
imul edi, dword [esp + 0x7c]
add esi, edi
sar esi, 0x10
imul esi, dword [esp + 0x40]
add ebx, esi
mov esi, dword [esp + 0xc]
imul esi, dword [esp + 0x94]
add ecx, esi
mov esi, dword [esp + 0x2c]
imul esi, dword [esp + 0x30]
add ecx, esi
add ecx, eax
sar ecx, 0x10
imul ecx, dword [esp + 0x3c]
add ebx, ecx
sar ebx, 0x10
test edx, edx
jge 0x10011164
xor edx, edx
mov ecx, dword [esp + 0x18]
test ecx, ecx
jge 0x1001116e
xor ecx, ecx
test ebx, ebx
jge 0x10011174
xor ebx, ebx
cmp edx, 0xff
jle 0x10011181
mov edx, 0xff
cmp ecx, 0xff
jle 0x1001118e
mov ecx, 0xff
cmp ebx, 0xff
jle 0x1001119b
mov ebx, 0xff
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x24]
mov byte [eax + esi], dl
add eax, 1
mov byte [eax + esi], cl
mov ecx, dword [esp + 0x48]
add eax, 1
mov byte [eax + esi], bl
mov esi, dword [esp + 0x9c]
add eax, 1
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
add eax, 1
cmp eax, dword [ebp + 0x10]
mov dword [esp + 0x1c], eax
jl 0x10010ba7
jmp 0x10010b6c
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
mov eax, dword [ebp + 0x10]
cmp edx, eax
jge 0x10010b6c
mov ebx, dword [esp + 0x4c]
add edi, ebx
sub eax, edx
lea esp, [esp]
movzx edx, byte [ecx + 0x39]
mov byte [edi], dl
movzx edx, byte [ecx + 0x3a]
add edi, 1
mov byte [edi], dl
movzx edx, byte [ecx + 0x3b]
add edi, 1
mov byte [edi], dl
add edi, 1
sub eax, 1
jne 0x10011200
jmp 0x10010b6c
xor eax, eax
cmp dword [ebp + 0x14], eax
mov dword [esp + 0x44], eax
jle 0x10011354
mov dword [esp + 0x5c], eax
jmp 0x10011240
xor edi, edi
cmp dword [ebp + 0x10], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edi
jle 0x10011331
fild dword [esp + 0x44]
fst qword [esp + 0x50]
jmp 0x10011260
mov ebx, dword [ebp + 0xc]
fild dword [esp + 0x1c]
fld st(0)
fmul qword [ebx + 0x10]
fld qword [esp + 0x50]
fmul qword [ebx + 0x20]
faddp st(1)
fadd qword [ebx]
fstp qword [esp + 0x10]
fmul qword [ebx + 0x28]
fld qword [esp + 0x50]
fmul qword [ebx + 0x18]
faddp st(1)
fadd qword [ebx + 8]
fstp qword [esp + 0x30]
fld qword [esp + 0x10]
fcomp qword [0x307f070]
fnstsw ax
test ah, 5
jnp 0x1001130a
fld qword [esp + 0x30]
fcomp qword [0x307f070]
fnstsw ax
test ah, 5
jnp 0x1001130a
mov eax, dword [esp + 0x60]
fld qword [esp + 0x10]
fnstcw word [esp + 0xc]
lea edx, [eax - 2]
movzx eax, word [esp + 0xc]
or ah, 0xc
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
cmp dword [esp + 0x10], edx
fldcw word [esp + 0xc]
jge 0x1001130a
mov eax, dword [esp + 0x64]
fld qword [esp + 0x30]
fnstcw word [esp + 0xc]
lea edx, [eax - 2]
movzx eax, word [esp + 0xc]
or ah, 0xc
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
cmp dword [esp + 0x10], edx
fldcw word [esp + 0xc]
jl 0x1001135d
mov eax, dword [esp + 0x20]
mov dl, byte [ecx + 0x38]
mov ebx, dword [esp + 0x4c]
add edi, 1
mov byte [eax + ebx], dl
add eax, 1
cmp edi, dword [ebp + 0x10]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edi
jl 0x10011260
fstp st(0)
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x5c]
add eax, dword [esp + 0xa0]
add edx, 1
cmp edx, dword [ebp + 0x14]
mov dword [esp + 0x44], edx
mov dword [esp + 0x5c], eax
jl 0x10011240
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp edi, dword [ebp + 0x10]
jge 0x1001132f
fstp qword [esp + 0x50]
jmp 0x10011370
mov ebx, dword [ebp + 0xc]
jmp 0x10011370
fild dword [esp + 0x1c]
fld st(0)
fmul qword [ebx + 0x10]
fld qword [esp + 0x50]
fmul qword [ebx + 0x20]
faddp st(1)
fadd qword [ebx]
fstp qword [esp + 0x10]
fmul qword [ebx + 0x28]
fld qword [esp + 0x50]
fmul qword [ebx + 0x18]
faddp st(1)
fadd qword [ebx + 8]
fstp qword [esp + 0x30]
fld qword [esp + 0x10]
fcomp qword [0x307f070]
fnstsw ax
test ah, 5
jnp 0x1001163f
fld qword [esp + 0x30]
fcomp qword [0x307f070]
fnstsw ax
test ah, 5
jnp 0x1001163f
fld qword [esp + 0x10]
call fcn.10001036
mov ebx, eax
mov eax, dword [esp + 0x60]
add eax, 0xfffffffe
cmp ebx, eax
jge 0x1001163b
fld qword [esp + 0x30]
call fcn.10001036
mov edx, eax
mov eax, dword [esp + 0x64]
add eax, 0xfffffffe
cmp edx, eax
jge 0x1001163b
fld qword [esp + 0x10]
mov ecx, ebx
fmul qword [0x307fa10]
neg ecx
fnstcw word [esp + 0xc]
shl ecx, 8
movzx eax, word [esp + 0xc]
or ah, 0xc
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
fistp qword [esp + 0x10]
mov eax, dword [esp + 0x10]
sub ecx, eax
fldcw word [esp + 0xc]
fld qword [esp + 0x30]
fmul qword [0x307fa10]
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
or ah, 0xc
mov dword [esp + 0x10], eax
fldcw word [esp + 0x10]
mov eax, edx
add edx, 0xffffffff
neg eax
shl eax, 8
imul edx, esi
fistp qword [esp + 0x10]
fldcw word [esp + 0xc]
mov edi, dword [esp + 0x10]
add edx, ebx
sub eax, edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa4]
lea eax, [edx + eax - 1]
movzx edx, byte [eax]
mov dword [esp + 0x88], edx
movzx edx, byte [eax + 1]
mov dword [esp + 0x78], edx
movzx edx, byte [eax + 2]
mov dword [esp + 0x90], edx
movzx edx, byte [eax + 3]
add eax, esi
mov dword [esp + 0x68], edx
movzx edx, byte [eax]
mov dword [esp + 0x7c], edx
movzx edx, byte [eax + 1]
mov dword [esp + 0x74], edx
movzx edx, byte [eax + 2]
mov edi, dword [ecx*4 + 0x3082d68]
mov ebx, dword [ecx*4 + 0x3082968]
mov dword [esp + 0x6c], edx
movzx edx, byte [eax + 3]
add eax, esi
mov dword [esp + 0x80], edx
movzx edx, byte [eax]
mov dword [esp + 0x84], edx
movzx edx, byte [eax + 1]
mov dword [esp + 0x10], edx
movzx edx, byte [eax + 2]
mov dword [esp + 0x30], edx
movzx edx, byte [eax + 3]
add eax, esi
mov dword [esp + 0x94], edx
mov edx, dword [ecx*4 + 0x3083168]
mov dword [esp + 0x24], edx
mov edx, dword [ecx*4 + 0x3082568]
movzx ecx, byte [eax + 1]
imul ecx, ebx
mov dword [esp + 0x3c], ebx
movzx ebx, byte [eax + 2]
imul ebx, edi
mov dword [esp + 0x40], edi
movzx edi, byte [eax + 3]
movzx eax, byte [eax]
imul edi, dword [esp + 0x24]
imul eax, edx
add ecx, ebx
add ecx, edi
add ecx, eax
mov eax, dword [esp + 0x18]
sar ecx, 0x10
imul ecx, dword [eax*4 + 0x3083168]
mov eax, dword [esp + 0x3c]
imul eax, dword [esp + 0x10]
mov edi, dword [esp + 0x40]
imul edi, dword [esp + 0x30]
add eax, edi
mov edi, dword [esp + 0x24]
imul edi, dword [esp + 0x94]
add eax, edi
mov edi, edx
imul edi, dword [esp + 0x84]
add eax, edi
mov edi, dword [esp + 0x18]
sar eax, 0x10
imul eax, dword [edi*4 + 0x3082d68]
mov edi, dword [esp + 0x3c]
imul edi, dword [esp + 0x74]
add ecx, eax
mov eax, edx
imul edx, dword [esp + 0x88]
imul eax, dword [esp + 0x7c]
add eax, edi
mov edi, dword [esp + 0x40]
imul edi, dword [esp + 0x6c]
add eax, edi
mov edi, dword [esp + 0x24]
imul edi, dword [esp + 0x80]
add eax, edi
mov edi, dword [esp + 0x18]
sar eax, 0x10
imul eax, dword [edi*4 + 0x3082968]
add ecx, eax
mov eax, dword [esp + 0x3c]
imul eax, dword [esp + 0x78]
add edx, eax
mov eax, dword [esp + 0x40]
imul eax, dword [esp + 0x90]
add edx, eax
mov eax, dword [esp + 0x24]
imul eax, dword [esp + 0x68]
add edx, eax
sar edx, 0x10
imul edx, dword [edi*4 + 0x3082568]
add ecx, edx
sar ecx, 0x10
jns 0x100115ff
xor ecx, ecx
jmp 0x1001160c
cmp ecx, 0xff
jle 0x1001160c
mov ecx, 0xff
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x4c]
mov byte [eax + edx], cl
mov ecx, dword [esp + 0x48]
add edi, 1
add eax, 1
cmp edi, dword [ebp + 0x10]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edi
jl 0x10011368
jmp 0x10011331
mov ecx, dword [esp + 0x48]
cmp edi, dword [ebp + 0x10]
jge 0x10011331
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x20]
add edx, eax
mov eax, dword [ebp + 0x10]
sub eax, edi
mov bl, byte [ecx + 0x38]
mov byte [edx], bl
add edx, 1
sub eax, 1
jne 0x10011657
jmp 0x10011331