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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x400b8
call fcn.10002fa0
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x100a91a7
mov eax, dword [sym.imp.MSVCRT.dll__iob]
push str.AHD_interpolation..._n
add eax, 0x40
push eax
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 8
xor edi, edi
lea ebx, [esp + 0xc4]
mov dword [esp + 0x10], edi
fild dword [esp + 0x10]
fmul dword [0x100ed9bc]
fst dword [esp + 0xc]
fcomp dword [0x100ed9b8]
fnstsw ax
test ah, 0x41
jne 0x100a91e0
fld dword [esp + 0xc]
fld qword [0x100ed9b0]
call sub.MSVCRT.dll__CIpow
jmp 0x100a91f0
fld dword [esp + 0xc]
fmul dword [0x100ed9ac]
fadd dword [0x100ed9a8]
fstp dword [ebx]
inc edi
add ebx, 4
cmp edi, 0x10000
mov dword [esp + 0x10], edi
jl 0x100a91b4
lea edi, [esp + 0x94]
mov dword [esp + 0xc], 0x100ea6b8
mov dword [esp + 0x18], edi
mov ebx, 0x100ea700
mov eax, dword [esi + 0x6618]
test eax, eax
jle 0x100a926f
lea ecx, [esi + 0xe70c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0xc]
mov dword [edi], 0
fld dword [edi]
mov edx, 3
fld dword [ecx]
fmul qword [eax]
add eax, 8
add ecx, 0x10
dec edx
fdiv dword [ebx]
faddp st(1)
jne 0x100a9243
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
fstp dword [edi]
add edi, 4
add ecx, 4
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], eax
jne 0x100a9232
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
add ebx, 4
add edi, 0x10
add ecx, 0x18
cmp ebx, 0x100ea70c
mov dword [esp + 0x18], edi
mov dword [esp + 0xc], ecx
jl 0x100a921a
push 5
push esi
call fcn.100a7f10
push 0x1a0000
call dword [sym.imp.MSVCRT.dll_malloc]
mov edi, eax
push str.ahd_interpolate__
push edi
push esi
mov dword [esp + 0x3c], edi
call fcn.1009c4b0
xor ecx, ecx
add esp, 0x18
mov cx, word [esi + 0x65fc]
mov dword [esp + 0x1c], 2
sub ecx, 5
cmp ecx, 2
jle 0x100a9d51
xor edx, edx
mov dword [esp + 0x20], 2
mov dx, word [esi + 0x65fe]
sub edx, 5
cmp edx, 2
jle 0x100a9d2c
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
lea eax, [edi + 0x100]
cmp edi, eax
jge 0x100a9518
xor eax, eax
mov ax, word [esi + 0x65fc]
sub eax, 2
cmp edi, eax
jge 0x100a9518
mov ecx, dword [esp + 0x20]
mov ebx, dword [esi + 0x657c]
mov eax, edi
and ecx, 1
and eax, 7
mov edx, ebx
shl eax, 1
add ecx, eax
shl ecx, 1
shr edx, cl
mov ecx, dword [esp + 0x20]
and edx, 1
add edx, ecx
mov ecx, edx
mov dword [esp + 0x18], edx
and ecx, 1
add ecx, eax
shl ecx, 1
shr ebx, cl
mov ecx, dword [esp + 0x20]
lea eax, [ecx + 0x100]
and ebx, 3
cmp edx, eax
mov dword [esp + 0x28], ebx
jge 0x100a9501
xor eax, eax
mov ax, word [esi + 0x65fe]
lea ecx, [eax - 2]
cmp edx, ecx
jge 0x100a9501
imul eax, edi
mov ecx, dword [esi + 0x6628]
add eax, edx
xor edi, edi
mov si, word [ecx + eax*8 + 0xa]
lea eax, [ecx + eax*8]
mov ecx, esi
mov di, word [eax + ebx*2]
and ecx, 0xffff
mov dword [esp + 0xc], ecx
mov cx, word [eax - 6]
and ecx, 0xffff
mov dword [esp + 0x10], ecx
add edi, ecx
add edi, dword [esp + 0xc]
shl edi, 1
mov ecx, edi
xor edi, edi
mov di, word [eax + ebx*2 + 0x10]
sub ecx, edi
xor edi, edi
mov di, word [eax + ebx*2 - 0x10]
sub ecx, edi
sar ecx, 2
cmp word [eax - 6], si
jae 0x100a93f1
mov edi, dword [esp + 0xc]
cmp ecx, edi
jge 0x100a93df
mov edi, ecx
mov esi, dword [esp + 0x10]
cmp esi, edi
jg 0x100a940d
mov esi, dword [esp + 0xc]
cmp ecx, esi
jge 0x100a940d
jmp 0x100a940b
mov edi, dword [esp + 0x10]
cmp ecx, edi
jge 0x100a93fb
mov edi, ecx
mov esi, dword [esp + 0xc]
cmp esi, edi
jg 0x100a940d
mov esi, dword [esp + 0x10]
cmp ecx, esi
jge 0x100a940d
mov esi, ecx
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
sub ecx, edi
mov edi, dword [esp + 0x20]
shl ecx, 8
sub ecx, edi
add ecx, edx
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x24]
lea ecx, [ecx + edx*2]
mov edx, dword [ebp + 8]
mov dword [esp + 0x2c], ecx
mov word [ecx + 2], si
xor ecx, ecx
mov cx, word [edx + 0x65fe]
mov edx, eax
shl ecx, 3
sub edx, ecx
xor esi, esi
mov di, word [edx + 2]
mov dx, word [ecx + eax + 2]
mov dword [esp + 0xc], edx
and edx, 0xffff
mov dword [esp + 0x10], edx
mov edx, ebx
sub edx, ecx
mov dword [esp + 0x30], edi
and edi, 0xffff
mov si, word [eax + edx*2]
xor edx, edx
mov dx, word [eax + ebx*2]
mov ebx, dword [esp + 0x10]
add edx, ebx
mov ebx, dword [esp + 0x28]
add edx, edi
add ecx, ebx
shl edx, 1
sub edx, esi
xor esi, esi
mov si, word [eax + ecx*2]
mov ax, word [esp + 0xc]
sub edx, esi
sar edx, 2
cmp word [esp + 0x30], ax
jae 0x100a94b9
mov ecx, dword [esp + 0x10]
mov eax, edx
cmp edx, ecx
jl 0x100a94ad
mov eax, ecx
cmp edi, eax
jg 0x100a94d1
cmp edx, ecx
jl 0x100a94d3
mov edx, ecx
jmp 0x100a94d3
cmp edx, edi
mov eax, edx
jl 0x100a94c1
mov eax, edi
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jle 0x100a94cd
mov edx, ecx
jmp 0x100a94d3
cmp edx, edi
jl 0x100a94d3
mov edx, edi
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0x14]
mov word [ecx + 0x60002], dx
mov edx, dword [esp + 0x18]
add edx, 2
add eax, 0x100
cmp edx, eax
mov dword [esp + 0x18], edx
jl 0x100a9369
mov ecx, dword [esp + 0x1c]
inc edi
mov dword [esp + 0x14], edi
lea eax, [ecx + 0x100]
cmp edi, eax
jl 0x100a9308
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], 0
lea eax, [edx + 0xff]
mov ecx, dword [esp + 0x1c]
lea ebx, [ecx + 1]
cmp ebx, eax
mov dword [esp + 0x14], ebx
jge 0x100a98bf
xor edx, edx
mov dx, word [esi + 0x65fc]
sub edx, 3
cmp ebx, edx
jge 0x100a98bf
mov eax, dword [esp + 0x20]
lea ecx, [eax + 1]
add eax, 0xff
cmp ecx, eax
mov dword [esp + 0x18], ecx
jge 0x100a98a5
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx + 0x65fe]
mov dword [esp + 0xc], eax
add eax, 0xfffffffd
cmp ecx, eax
jge 0x100a98a5
mov eax, dword [esp + 0xc]
mov esi, dword [edx + 0x6628]
imul eax, ebx
add eax, ecx
mov edx, dword [edx + 0x657c]
lea edi, [esi + eax*8]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
sub eax, esi
mov esi, dword [esp + 0x20]
add eax, ebx
shl eax, 8
sub eax, esi
mov esi, dword [esp + 0x24]
add eax, ecx
and ecx, 1
mov dword [esp + 0x30], ecx
lea eax, [eax + eax*2]
shl eax, 1
mov dword [esp + 0x34], eax
add esi, eax
mov eax, ebx
and eax, 7
lea ecx, [ecx + eax*2]
mov eax, edx
shl ecx, 1
shr eax, cl
mov dword [esp + 0x28], ecx
and eax, 3
mov ecx, eax
mov eax, 2
sub eax, ecx
cmp eax, 1
jne 0x100a96a1
mov ecx, dword [esp + 0x30]
lea eax, [ebx*4 + 4]
and eax, 0x1c
mov ebx, edi
lea ecx, [eax + ecx*2]
shr edx, cl
and edx, 3
mov eax, edx
neg edx
lea ecx, [eax + eax + 4]
sub ebx, ecx
xor ecx, ecx
mov cx, word [ebx]
xor ebx, ebx
mov bx, word [edi + edx*2 + 0xc]
add ecx, ebx
xor ebx, ebx
mov bx, word [esi + 8]
sub ecx, ebx
xor ebx, ebx
mov bx, word [esi - 4]
sub ecx, ebx
xor ebx, ebx
mov bx, word [edi + 2]
sar ecx, 1
add ecx, ebx
cmp ecx, 0xffff
jge 0x100a964e
xor ebx, ebx
test ecx, ecx
setl bl
dec ebx
and ecx, ebx
jmp 0x100a9653
mov ecx, 0xffff
mov word [esi + edx*2 + 4], cx
mov ecx, dword [ebp + 8]
xor edx, edx
xor ebx, ebx
mov dx, word [ecx + 0x65fe]
shl edx, 2
lea ecx, [edx + eax]
mov bx, word [edi + ecx*2]
mov ecx, ebx
mov ebx, eax
sub ebx, edx
xor edx, edx
mov dx, word [edi + ebx*2]
add ecx, edx
xor edx, edx
mov dx, word [esi + 0x602]
sub ecx, edx
xor edx, edx
mov dx, word [esi - 0x5fe]
sub ecx, edx
sar ecx, 1
xor edx, edx
mov dx, word [edi + 2]
jmp 0x100a9724
mov ecx, dword [esp + 0xc]
xor ebx, ebx
lea edx, [ecx*4 + 4]
mov dword [esp + 0xc], edx
lea edx, [ecx*4]
lea ecx, [edx + eax]
mov bx, word [edi + ecx*2 - 8]
mov ecx, ebx
mov ebx, eax
sub ebx, edx
xor edx, edx
mov dx, word [edi + ebx*2 + 8]
xor ebx, ebx
add ecx, edx
mov edx, dword [esp + 0xc]
add edx, eax
mov bx, word [edi + edx*2]
mov edx, eax
add ecx, ebx
mov ebx, dword [esp + 0xc]
sub edx, ebx
xor ebx, ebx
mov bx, word [edi + edx*2]
xor edx, edx
mov dx, word [esi + 0x608]
add ecx, ebx
sub ecx, edx
xor edx, edx
mov dx, word [esi - 0x604]
sub ecx, edx
xor edx, edx
mov dx, word [esi + 0x5fc]
sub ecx, edx
xor edx, edx
mov dx, word [esi - 0x5f8]
sub ecx, edx
inc ecx
sar ecx, 2
xor edx, edx
mov dx, word [esi + 2]
add ecx, edx
cmp ecx, 0xffff
jge 0x100a973a
xor edx, edx
test ecx, ecx
setl dl
dec edx
and ecx, edx
jmp 0x100a973f
mov ecx, 0xffff
mov edx, dword [ebp + 8]
mov word [esi + eax*2], cx
mov ecx, dword [esp + 0x28]
mov eax, dword [edx + 0x657c]
shr eax, cl
fld dword [0x100cd3a0]
fld dword [0x100cd3a0]
fld dword [0x100cd3a0]
and eax, 3
mov cx, word [edi + eax*2]
mov word [esi + eax*2], cx
mov ecx, dword [edx + 0x6618]
test ecx, ecx
jle 0x100a97a9
lea eax, [esp + 0xa4]
xor edx, edx
add eax, 4
mov dx, word [esi]
add esi, 2
mov dword [esp + 0x2c], edx
dec ecx
fild dword [esp + 0x2c]
fld st(0)
fmul dword [eax - 0x14]
faddp st(2)
fld st(0)
fmul dword [eax - 4]
faddp st(3)
fmul dword [eax + 0xc]
faddp st(3)
jne 0x100a9780
call sub.MSVCRT.dll__ftol
cmp eax, 0xffff
jge 0x100a97c4
test eax, eax
jge 0x100a97bd
xor eax, eax
jmp 0x100a97c9
cmp eax, 0xffff
jl 0x100a97c9
mov eax, 0xffff
fld dword [esp + eax*4 + 0xc4]
fstp dword [esp + 0x40]
call sub.MSVCRT.dll__ftol
cmp eax, 0xffff
jge 0x100a97ef
test eax, eax
jge 0x100a97e8
xor eax, eax
jmp 0x100a97f4
cmp eax, 0xffff
jl 0x100a97f4
mov eax, 0xffff
fld dword [esp + eax*4 + 0xc4]
fstp dword [esp + 0x44]
call sub.MSVCRT.dll__ftol
cmp eax, 0xffff
jge 0x100a981a
test eax, eax
jge 0x100a9813
xor eax, eax
jmp 0x100a981f
cmp eax, 0xffff
jl 0x100a981f
mov eax, 0xffff
fld dword [esp + eax*4 + 0xc4]
fld dword [esp + 0x44]
fmul dword [0x100ed9a4]
fsub dword [0x100ed9a0]
fmul dword [0x100ed99c]
call sub.MSVCRT.dll__ftol
fld dword [esp + 0x40]
fsub dword [esp + 0x44]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
fmul dword [0x100ed998]
mov word [edi + esi + 0xc0000], ax
call sub.MSVCRT.dll__ftol
fld dword [esp + 0x44]
fsub st(1)
mov word [edi + esi + 0xc0002], ax
fmul dword [0x100ed994]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov word [edi + esi + 0xc0004], ax
mov eax, dword [esp + 0x20]
inc ecx
add eax, 0xff
cmp ecx, eax
mov dword [esp + 0x18], ecx
fstp st(0)
jl 0x100a9569
mov ecx, dword [esp + 0x1c]
mov esi, dword [ebp + 8]
inc ebx
lea eax, [ecx + 0xff]
mov dword [esp + 0x14], ebx
cmp ebx, eax
jl 0x100a953d
mov ecx, dword [esp + 0x10]
add ecx, 0x100
cmp ecx, 0x200
mov dword [esp + 0x10], ecx
jl 0x100a952a
mov edx, dword [esp + 0x24]
mov ecx, 0x8000
xor eax, eax
lea edi, [edx + 0x180000]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x1c]
lea edx, [eax + 2]
add eax, 0xfe
cmp edx, eax
mov dword [esp + 0x14], edx
jge 0x100a9b12
mov eax, dword [esp + 0x1c]
mov ecx, edx
shl ecx, 8
shl eax, 8
mov dword [esp + 0x28], ecx
mov dword [esp + 0x34], eax
jmp 0x100a991e
mov eax, dword [esp + 0x34]
xor edi, edi
mov di, word [esi + 0x65fc]
sub edi, 4
cmp edx, edi
jge 0x100a9b12
mov edx, dword [esp + 0x20]
sub ecx, eax
mov dword [esp + 0x2c], ecx
lea eax, [edx + 2]
add edx, 0xfe
cmp eax, edx
mov dword [esp + 0x18], eax
jge 0x100a9ae7
jmp 0x100a9957
mov ecx, dword [esp + 0x2c]
mov esi, dword [ebp + 8]
xor edx, edx
mov dx, word [esi + 0x65fe]
sub edx, 4
cmp eax, edx
jge 0x100a9ae7
mov edx, dword [esp + 0x20]
sub eax, edx
xor edx, edx
add eax, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*2 + 0xc0000]
mov dword [esp + 0x10], ecx
movsx eax, word [ecx + 4]
movsx ebx, word [ecx]
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], ebx
movsx eax, word [ecx + 2]
mov dword [esp + 0x38], eax
mov esi, 0x100eb4dc
jmp 0x100a99b0
mov ebx, dword [esp + 0x30]
mov eax, dword [esi]
add esi, 4
add edx, 4
lea eax, [eax + eax*2]
movsx edi, word [ecx + eax*2]
lea ecx, [ecx + eax*2]
mov eax, ebx
sub eax, edi
sub ebx, edi
movsx edi, word [ecx + 4]
sar eax, 0x1f
xor ebx, eax
sub ebx, eax
mov eax, dword [esp + 0xc]
sub eax, edi
mov dword [esp + edx + 0x70], ebx
movsx edi, word [ecx + 2]
mov ecx, dword [esp + 0x38]
sub ecx, edi
mov edi, ecx
imul edi, ecx
mov ecx, eax
imul ecx, eax
add edi, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + edx + 0x50], edi
cmp esi, 0x100eb4ec
jl 0x100a99ac
add ecx, 0x60000
cmp edx, 0x20
mov dword [esp + 0x10], ecx
jl 0x100a998e
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
cmp edi, ebx
mov esi, edi
ja 0x100a9a26
mov esi, ebx
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
cmp ecx, edx
mov eax, ecx
ja 0x100a9a3c
mov eax, edx
cmp esi, eax
jae 0x100a9a50
cmp edi, ebx
jbe 0x100a9a4a
mov dword [esp + 0xc], edi
jmp 0x100a9a5c
mov dword [esp + 0xc], ebx
jmp 0x100a9a5c
cmp ecx, edx
mov dword [esp + 0xc], ecx
ja 0x100a9a5c
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
cmp edi, ebx
mov esi, edi
ja 0x100a9a6c
mov esi, ebx
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
cmp ecx, edx
mov eax, ecx
ja 0x100a9a7c
mov eax, edx
cmp esi, eax
jae 0x100a9a8c
cmp edi, ebx
jbe 0x100a9a88
mov edx, edi
jmp 0x100a9a92
mov edx, ebx
jmp 0x100a9a92
cmp ecx, edx
jbe 0x100a9a92
mov edx, ecx
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0xc]
add ecx, 0x180000
xor eax, eax
add esi, ecx
mov ecx, 4
cmp dword [esp + eax + 0x74], edi
ja 0x100a9abb
cmp dword [esp + eax + 0x54], edx
ja 0x100a9abb
inc byte [esi]
add eax, 4
dec ecx
jne 0x100a9aad
add esi, 0x10000
cmp eax, 0x20
jl 0x100a9aa8
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
inc eax
lea ecx, [edx + 0xfe]
mov dword [esp + 0x18], eax
cmp eax, ecx
jl 0x100a9953
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov esi, dword [ebp + 8]
inc edx
add eax, 0xfe
add ecx, 0x100
cmp edx, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x28], ecx
jl 0x100a991a
mov edx, dword [esp + 0x1c]
lea edi, [edx + 3]
lea eax, [edx + 0xfd]
cmp edi, eax
mov dword [esp + 0x14], edi
jge 0x100a9d0a
mov ecx, dword [esp + 0x20]
mov ebx, edi
shl ebx, 8
shl edx, 8
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], edx
jmp 0x100a9b49
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x3c]
xor eax, eax
mov ax, word [esi + 0x65fc]
sub eax, 5
cmp edi, eax
jge 0x100a9d0e
mov eax, dword [esp + 0x1c]
sub edi, eax
mov eax, ebx
sub eax, edx
lea edx, [ecx + 3]
mov dword [esp + 0x34], eax
lea eax, [ecx + 0xfd]
cmp edx, eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x18], edx
jge 0x100a9ce0
jmp 0x100a9b8a
mov edi, dword [esp + 0xc]
xor eax, eax
mov ax, word [esi + 0x65fe]
sub eax, 5
cmp edx, eax
jge 0x100a9ce0
sub edx, ecx
lea eax, [edi + 1]
mov dword [esp + 0x38], edx
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x4c]
lea ebx, [edi - 1]
mov dword [ecx], 0
cmp ebx, eax
jg 0x100a9c00
lea edi, [edx + 1]
lea eax, [edx - 1]
cmp eax, edi
jg 0x100a9bf2
mov edx, dword [esp + 0x10]
lea esi, [edx + ebx]
mov edx, dword [esp + 0x24]
shl esi, 8
add edx, 0x180000
add edx, esi
movsx esi, byte [edx + eax]
add dword [ecx], esi
inc eax
cmp eax, edi
jle 0x100a9be0
mov esi, dword [ebp + 8]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0xc]
inc ebx
inc eax
cmp ebx, eax
jle 0x100a9bc3
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
add ecx, 4
add ebx, 0x100
cmp ebx, 0x200
mov dword [esp + 0x10], ebx
jl 0x100a9bb3
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
cmp edi, ecx
je 0x100a9c77
xor eax, eax
xor ebx, ebx
cmp ecx, edi
mov ecx, dword [esp + 0xc]
setg bl
shl ebx, 8
add ebx, ecx
shl ebx, 8
add ebx, edx
mov edx, dword [esp + 0x24]
mov ecx, ebx
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*2]
xor edx, edx
mov edi, dword [esp + 0x18]
mov dx, word [esi + 0x65fe]
mov bx, word [ecx]
imul edx, dword [esp + 0x14]
add edx, edi
mov edi, dword [esi + 0x6628]
add ecx, 2
lea edx, [eax + edx*4]
inc eax
cmp eax, 3
mov word [edi + edx*2], bx
jl 0x100a9c48
jmp 0x100a9cc5
mov ecx, dword [esp + 0x34]
xor eax, eax
add edx, ecx
mov ecx, dword [esp + 0x24]
lea edx, [edx + edx*2]
lea ecx, [ecx + edx*2]
xor edx, edx
xor edi, edi
mov dx, word [ecx + 0x60000]
mov di, word [ecx]
add edx, edi
xor edi, edi
mov di, word [esi + 0x65fe]
mov ebx, dword [esp + 0x18]
imul edi, dword [esp + 0x14]
add edi, ebx
mov ebx, dword [esi + 0x6628]
sar edx, 1
lea edi, [eax + edi*4]
inc eax
add ecx, 2
cmp eax, 3
mov word [ebx + edi*2], dx
jl 0x100a9c89
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
inc edx
lea eax, [ecx + 0xfd]
mov dword [esp + 0x18], edx
cmp edx, eax
jl 0x100a9b86
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
inc edx
add eax, 0xfd
add ebx, 0x100
cmp edx, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x28], ebx
jl 0x100a9b41
jmp 0x100a9d0e
mov ecx, dword [esp + 0x20]
xor edx, edx
add ecx, 0xfa
mov dx, word [esi + 0x65fe]
mov dword [esp + 0x20], ecx
sub edx, 5
cmp ecx, edx
jl 0x100a92f2
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov cx, word [esi + 0x65fc]
add eax, 0xfa
sub ecx, 5
mov dword [esp + 0x1c], eax
cmp eax, ecx
jl 0x100a92d5
mov edi, dword [esp + 0x24]
push edi
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret