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

Disassembly:
sub esp, 0x7c
mov eax, dword [esp + 0xa0]
push ebx
push ebp
mov ebx, dword [eax + 4]
push esi
push edi
mov edi, dword [ecx + 8]
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x60], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x94]
mov dword [esp + 0x54], ecx
mov ecx, dword [edx + 8]
mov dword [esp + 0x68], ecx
mov ecx, dword [eax + 0x14]
mov edx, dword [ecx + 4]
mov esi, dword [ecx]
mov ecx, dword [eax + 8]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x70], edx
mov dl, byte [eax + 0xc]
add ecx, 3
xor ebp, ebp
mov byte [esp + 0x13], dl
mov edx, dword [eax + 0x18]
sar ecx, 2
cmp dword [esp + 0xb4], ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x2c], ebp
jbe 0x1001b392
fld dword [esp + 0x98]
fldz
jmp 0x1001a874
mov ecx, dword [esp + 0x80]
mov edi, dword [esp + 0x28]
cmp ecx, 8
jl 0x1001a880
mov eax, 8
jmp 0x1001a88e
mov eax, ecx
and eax, 0x80000007
jns 0x1001a88e
dec eax
or eax, 0xfffffff8
inc eax
sub ecx, eax
test eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x80], ecx
je 0x1001b3c6
cmp eax, 1
jle 0x1001a8b2
mov dword [esp + 0x38], 4
jmp 0x1001a8c6
mov eax, ebp
shl eax, 5
mov ecx, eax
mov eax, dword [esp + 0xa0]
sub eax, ecx
mov dword [esp + 0x38], eax
mov edx, dword [edi + ebp*4]
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x18], edx
lea edx, [eax + ebp]
add edx, edx
add edx, edx
cmp dword [esp + 0x9c], 0
mov ecx, dword [edx + edi]
mov dword [esp + 0x78], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], 0
jle 0x1001ac33
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0xb4]
lea ecx, [eax + ebp*4 - 4]
lea esi, [ebp + esi*2]
lea eax, [eax + esi*4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x54]
lea edi, [edx + ecx]
sub eax, ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x58], edi
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + edi]
mov ecx, dword [edi]
xor esi, esi
shr eax, 0x1c
shr ecx, 0x1c
cmp dword [esp + 0x38], esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x24], esi
jle 0x1001abfe
jmp 0x1001a97e
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x44]
cmp byte [esi + eax*4 + 0x1009bb48], 0
je 0x1001abdd
cmp byte [esi + ecx*4 + 0x1009bb48], 0
je 0x1001a9a0
mov eax, 0x10
jmp 0x1001aa61
test ebp, ebp
mov edx, dword [esi*4 + 0x1009ba30]
je 0x1001aa0e
test esi, esi
jne 0x1001aa0e
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x50]
mov eax, dword [eax + edx - 4]
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x4c]
and edx, 1
add edx, edx
add edx, edx
and eax, 1
add edx, edx
or eax, edx
mov edx, dword [ecx - 4]
mov ecx, dword [esp + 0x18]
add eax, eax
add eax, eax
and edx, 1
add eax, eax
or eax, edx
mov edx, dword [esp + 0x1c]
and ecx, 0xc7ffffff
shr edx, 3
or ecx, edx
mov edx, dword [esp + 0x34]
shr ecx, 3
and edx, 0xc0ffffff
add eax, eax
or ecx, edx
add eax, eax
shr ecx, 0x18
or eax, ecx
jmp 0x1001aa42
mov ecx, dword [esi*4 + 0x1009bab0]
mov eax, edx
and eax, dword [esp + 0x34]
mov ebp, edx
and ebp, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
shr eax, cl
shr ebp, cl
shr edx, cl
add eax, eax
add eax, eax
add eax, eax
or eax, ebp
add eax, eax
add eax, eax
add eax, eax
or eax, edx
cmp esi, 0x1f
jne 0x1001aa42
add eax, eax
mov edx, dword [esp + 0xa4]
xor ecx, ecx
cmp dword [edx + eax*4], ecx
mov edx, 0x80000000
setne cl
add ecx, 0xe
mov eax, ecx
mov ecx, esi
shr edx, cl
or dword [edi], edx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x68]
mov esi, 0x80000000
shr esi, cl
mov ecx, dword [esp + 0x50]
or dword [ecx + edx], esi
mov ecx, dword [esp + 0x6c]
mov edi, dword [ecx]
mov esi, dword [ecx + 4]
add edi, eax
add esi, eax
movzx eax, byte [edi]
mov eax, dword [eax*4 + 0x1008a1b8]
mov ebp, eax
mov ecx, ebx
shr ebp, 0x10
shr ecx, 0x10
cmp ecx, ebp
jb 0x1001aaf3
mov edx, dword [esp + 0x14]
mov ecx, eax
and ecx, 0xffff0000
sub edx, ebp
sub ebx, ecx
test edx, 0x8000
mov dword [esp + 0x14], edx
je 0x1001aac3
cmp byte [esi], 0
setne al
jmp 0x1001ab92
cmp edx, ebp
jb 0x1001aad4
cmp byte [esi], 0
setne byte [esp + 0x12]
shr eax, 8
jmp 0x1001ab25
mov cl, byte [esi]
mov dl, cl
xor dl, 1
mov dl, al
setne byte [esp + 0x12]
and dl, 1
xor dl, cl
shr eax, 1
mov byte [esi], dl
mov edx, dword [esp + 0x14]
and al, 0x7f
jmp 0x1001ab25
lea ecx, [ebp + ebp]
cmp dword [esp + 0x14], ecx
jae 0x1001ab0a
cmp byte [esi], 0
setne byte [esp + 0x12]
shr eax, 8
jmp 0x1001ab23
mov cl, byte [esi]
mov dl, cl
xor dl, 1
setne byte [esp + 0x12]
mov dl, al
and dl, 1
xor dl, cl
shr eax, 1
mov byte [esi], dl
and al, 0x7f
mov edx, ebp
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x70]
mov byte [edi], al
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x1001ab73
cmp ecx, esi
je 0x1001ab68
mov al, byte [ecx]
add ecx, 1
cmp byte [esp + 0x13], 0xff
mov byte [esp + 0x13], al
je 0x1001ab55
movzx eax, al
shl eax, 8
add ebx, eax
jmp 0x1001ab6e
cmp al, 0x8f
ja 0x1001ab68
movzx eax, al
shl eax, 9
add ebx, eax
mov eax, 7
jmp 0x1001ab73
add ebx, 0xff00
mov eax, 8
add edx, edx
add ebx, ebx
sub eax, 1
test edx, 0x8000
je 0x1001ab33
mov dword [esp + 0x40], eax
mov al, byte [esp + 0x12]
mov dword [esp + 0x14], edx
mov dword [esp + 0x3c], ecx
test al, al
je 0x1001abdd
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0xa8]
shl ecx, 5
add ecx, dword [esp + 0x24]
imul ecx, dword [esp + 0xac]
add ecx, dword [esp + 0x20]
fcom dword [edx + ecx*4]
lea ecx, [edx + ecx*4]
fnstsw ax
test ah, 0x41
jp 0x1001abc9
fxch st(1)
fst dword [esp + 0x74]
jmp 0x1001abd3
fld st(1)
fchs
fstp dword [esp + 0x74]
fxch st(1)
fld dword [esp + 0x74]
fadd dword [ecx]
fstp dword [ecx]
fxch st(1)
mov esi, dword [esp + 0x24]
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x58]
add esi, 1
cmp esi, dword [esp + 0x38]
mov dword [esp + 0x24], esi
jl 0x1001a976
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x20]
add eax, eax
add eax, eax
add dword [esp + 0x4c], eax
add dword [esp + 0x50], eax
add dword [esp + 0x5c], eax
add ecx, 1
add edi, eax
cmp ecx, dword [esp + 0x9c]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x58], edi
jl 0x1001a933
mov eax, dword [esp + 0x30]
add eax, 0xffffffff
cmp eax, 1
mov dword [esp + 0x50], 4
jle 0x1001af82
add eax, 0xffffffff
mov dword [esp + 0x7c], eax
cmp dword [esp + 0x9c], 0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + ebp*4]
mov eax, dword [edx + eax]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0
jle 0x1001af72
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x28]
lea edi, [edx + eax]
mov eax, dword [esp + 0xb4]
lea eax, [ebp + eax*2]
lea eax, [esi + eax*4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x60]
mov ecx, 0x1c
sub ecx, dword [esp + 0x50]
sub eax, dword [esp + 0x54]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x38], edi
mov dword [esp + 0x48], eax
jmp 0x1001acc1
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x18]
mov eax, dword [edi + eax]
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x58]
mov esi, dword [esi]
shr eax, cl
mov dword [esp + 0x1c], esi
and eax, 0xf
je 0x1001af43
mov edx, dword [edi]
mov esi, dword [esp + 0x50]
shr edx, cl
lea eax, [eax*4 + 0x1009bb48]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x64], eax
and edx, 0xf
xor ecx, ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x24], ecx
jmp 0x1001ad13
mov edx, dword [esp + 0x44]
cmp byte [eax], 0
je 0x1001af06
mov eax, ebp
shl eax, 5
add eax, esi
imul eax, dword [esp + 0xac]
add eax, dword [esp + 0x20]
cmp byte [ecx + edx*4 + 0x1009bb48], 0
mov dword [esp + 0x74], eax
je 0x1001ad44
mov eax, 0x10
jmp 0x1001ad9e
mov edx, dword [esi*4 + 0x1009ba30]
mov ecx, dword [esi*4 + 0x1009bab0]
mov eax, edx
and eax, dword [esp + 0x34]
mov ebp, edx
and ebp, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
shr eax, cl
shr ebp, cl
shr edx, cl
add eax, eax
add eax, eax
add eax, eax
or eax, ebp
add eax, eax
add eax, eax
add eax, eax
or eax, edx
cmp esi, 0x1f
jne 0x1001ad7f
add eax, eax
mov edx, dword [esp + 0xa4]
xor ecx, ecx
cmp dword [edx + eax*4], ecx
mov edx, 0x80000000
setne cl
add ecx, 0xe
mov eax, ecx
mov ecx, esi
shr edx, cl
or dword [edi], edx
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x68]
mov esi, 0x80000000
shr esi, cl
mov ecx, dword [esp + 0x4c]
or dword [ecx + edx], esi
mov ecx, dword [esp + 0x6c]
mov edi, dword [ecx]
mov esi, dword [ecx + 4]
add edi, eax
add esi, eax
movzx eax, byte [edi]
mov eax, dword [eax*4 + 0x1008a1b8]
mov ebp, eax
mov ecx, ebx
shr ebp, 0x10
shr ecx, 0x10
cmp ecx, ebp
jb 0x1001ae30
mov edx, dword [esp + 0x14]
mov ecx, eax
and ecx, 0xffff0000
sub edx, ebp
sub ebx, ecx
test edx, 0x8000
mov dword [esp + 0x14], edx
je 0x1001ae00
cmp byte [esi], 0
setne al
jmp 0x1001aecf
cmp edx, ebp
jb 0x1001ae11
cmp byte [esi], 0
setne byte [esp + 0x12]
shr eax, 8
jmp 0x1001ae62
mov cl, byte [esi]
mov dl, cl
xor dl, 1
mov dl, al
setne byte [esp + 0x12]
and dl, 1
xor dl, cl
shr eax, 1
mov byte [esi], dl
mov edx, dword [esp + 0x14]
and al, 0x7f
jmp 0x1001ae62
lea ecx, [ebp + ebp]
cmp dword [esp + 0x14], ecx
jae 0x1001ae47
cmp byte [esi], 0
setne byte [esp + 0x12]
shr eax, 8
jmp 0x1001ae60
mov cl, byte [esi]
mov dl, cl
xor dl, 1
setne byte [esp + 0x12]
mov dl, al
and dl, 1
xor dl, cl
shr eax, 1
mov byte [esi], dl
and al, 0x7f
mov edx, ebp
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x70]
mov byte [edi], al
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x1001aeb0
cmp ecx, esi
je 0x1001aea5
mov al, byte [ecx]
add ecx, 1
cmp byte [esp + 0x13], 0xff
mov byte [esp + 0x13], al
je 0x1001ae92
movzx eax, al
shl eax, 8
add ebx, eax
jmp 0x1001aeab
cmp al, 0x8f
ja 0x1001aea5
movzx eax, al
shl eax, 9
add ebx, eax
mov eax, 7
jmp 0x1001aeb0
add ebx, 0xff00
mov eax, 8
add edx, edx
add ebx, ebx
sub eax, 1
test edx, 0x8000
je 0x1001ae70
mov dword [esp + 0x40], eax
mov al, byte [esp + 0x12]
mov dword [esp + 0x14], edx
mov dword [esp + 0x3c], ecx
test al, al
je 0x1001af06
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x74]
fcom dword [edx + ecx*4]
fnstsw ax
test ah, 0x41
jp 0x1001aef0
fxch st(1)
fst dword [esp + 0x74]
jmp 0x1001aefa
fld st(1)
fchs
fstp dword [esp + 0x74]
fxch st(1)
fld dword [edx + ecx*4]
fadd dword [esp + 0x74]
fstp dword [edx + ecx*4]
fxch st(1)
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x5c]
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x38]
add ecx, 1
add eax, 1
add esi, 1
cmp ecx, 4
mov dword [esp + 0x24], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x5c], esi
jl 0x1001ad0f
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0xb4]
add dword [esp + 0x20], 1
add eax, eax
add eax, eax
add dword [esp + 0x58], eax
add dword [esp + 0x4c], eax
add edi, eax
mov eax, dword [esp + 0x9c]
cmp dword [esp + 0x20], eax
mov dword [esp + 0x38], edi
jl 0x1001acbd
add dword [esp + 0x50], 4
sub dword [esp + 0x7c], 1
jne 0x1001ac52
cmp dword [esp + 0x30], 1
jle 0x1001b36f
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0xa0]
mov eax, ebp
shl eax, 5
lea esi, [ecx*4 - 4]
sub edi, esi
sub edi, eax
cmp edi, 4
mov dword [esp + 0x84], eax
jb 0x1001afbe
mov dword [esp + 0x38], 4
jmp 0x1001afdc
lea eax, [ebp*8]
mov esi, 1
sub esi, eax
sub esi, ecx
mov ecx, dword [esp + 0xa0]
lea eax, [ecx + esi*4]
mov dword [esp + 0x38], eax
cmp dword [esp + 0x9c], 0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + ebp*4]
mov eax, dword [edx + eax]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0
jle 0x1001b36f
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x60]
lea ecx, [eax + ebp*4 + 4]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x54]
lea edi, [edx + ecx]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0xb4]
lea edx, [ebp + edx*2]
lea eax, [eax + edx*4]
sub esi, ecx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], esi
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], ecx
lea eax, [eax*4 - 4]
mov dword [esp + 0x18], edx
mov edx, dword [esi + edi]
mov ecx, 0x1c
sub ecx, eax
mov eax, dword [edi]
shr edx, cl
shr eax, cl
xor ecx, ecx
mov dword [esp + 0x24], ecx
and edx, 0xf
and eax, 0xf
cmp dword [esp + 0x38], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x44], eax
jle 0x1001b33a
jmp 0x1001b098
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x44]
cmp byte [ecx + edx*4 + 0x1009bb48], 0
je 0x1001b319
mov esi, dword [esp + 0x30]
lea esi, [esi*4 - 4]
add esi, ecx
cmp byte [ecx + eax*4 + 0x1009bb48], 0
mov dword [esp + 0x7c], esi
je 0x1001b0cb
mov eax, 0x10
jmp 0x1001b19b
cmp ecx, 3
mov edx, dword [esi*4 + 0x1009ba30]
jne 0x1001b148
mov eax, dword [esp + 0xb4]
add eax, 0xffffffff
cmp ebp, eax
je 0x1001b148
cmp dword [esp + 0x30], 8
jne 0x1001b148
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x28]
mov eax, dword [ecx + edx + 4]
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x58]
shr edx, 3
and eax, 0x8fffffff
or eax, edx
mov edx, dword [ecx]
mov ecx, dword [esp + 0x34]
and ecx, 3
add ecx, ecx
and edx, 0x81ffffff
add ecx, ecx
shr eax, 3
or eax, edx
mov edx, dword [esp + 0x18]
add ecx, ecx
and edx, 3
or ecx, edx
mov edx, dword [esp + 0x1c]
add ecx, ecx
add ecx, ecx
add ecx, ecx
and edx, 3
or ecx, edx
shr eax, 0x19
add ecx, ecx
or eax, ecx
jmp 0x1001b17c
mov ecx, dword [esi*4 + 0x1009bab0]
mov eax, edx
and eax, dword [esp + 0x34]
mov ebp, edx
and ebp, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
shr eax, cl
shr ebp, cl
shr edx, cl
add eax, eax
add eax, eax
add eax, eax
or eax, ebp
add eax, eax
add eax, eax
add eax, eax
or eax, edx
cmp esi, 0x1f
jne 0x1001b17c
add eax, eax
mov edx, dword [esp + 0xa4]
xor ecx, ecx
cmp dword [edx + eax*4], ecx
mov edx, 0x80000000
setne cl
add ecx, 0xe
mov eax, ecx
mov ecx, esi
shr edx, cl
or dword [edi], edx
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x68]
mov esi, 0x80000000
shr esi, cl
mov ecx, dword [esp + 0x4c]
or dword [ecx + edx], esi
mov ecx, dword [esp + 0x6c]
mov edi, dword [ecx]
mov esi, dword [ecx + 4]
add edi, eax
add esi, eax
movzx eax, byte [edi]
mov eax, dword [eax*4 + 0x1008a1b8]
mov ebp, eax
mov ecx, ebx
shr ebp, 0x10
shr ecx, 0x10
cmp ecx, ebp
jb 0x1001b22d
mov edx, dword [esp + 0x14]
mov ecx, eax
and ecx, 0xffff0000
sub edx, ebp
sub ebx, ecx
test edx, 0x8000
mov dword [esp + 0x14], edx
je 0x1001b1fd
cmp byte [esi], 0
setne al
jmp 0x1001b2cc
cmp edx, ebp
jb 0x1001b20e
cmp byte [esi], 0
setne byte [esp + 0x12]
shr eax, 8
jmp 0x1001b25f
mov cl, byte [esi]
mov dl, cl
xor dl, 1
mov dl, al
setne byte [esp + 0x12]
and dl, 1
xor dl, cl
shr eax, 1
mov byte [esi], dl
mov edx, dword [esp + 0x14]
and al, 0x7f
jmp 0x1001b25f
lea ecx, [ebp + ebp]
cmp dword [esp + 0x14], ecx
jae 0x1001b244
cmp byte [esi], 0
setne byte [esp + 0x12]
shr eax, 8
jmp 0x1001b25d
mov cl, byte [esi]
mov dl, cl
xor dl, 1
setne byte [esp + 0x12]
mov dl, al
and dl, 1
xor dl, cl
shr eax, 1
mov byte [esi], dl
and al, 0x7f
mov edx, ebp
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x70]
mov byte [edi], al
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x1001b2ad
cmp ecx, esi
je 0x1001b2a2
mov al, byte [ecx]
add ecx, 1
cmp byte [esp + 0x13], 0xff
mov byte [esp + 0x13], al
je 0x1001b28f
movzx eax, al
shl eax, 8
add ebx, eax
jmp 0x1001b2a8
cmp al, 0x8f
ja 0x1001b2a2
movzx eax, al
shl eax, 9
add ebx, eax
mov eax, 7
jmp 0x1001b2ad
add ebx, 0xff00
mov eax, 8
add edx, edx
add ebx, ebx
sub eax, 1
test edx, 0x8000
je 0x1001b26d
mov dword [esp + 0x40], eax
mov al, byte [esp + 0x12]
mov dword [esp + 0x14], edx
mov dword [esp + 0x3c], ecx
test al, al
je 0x1001b319
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0xa8]
add ecx, edx
imul ecx, dword [esp + 0xac]
add ecx, dword [esp + 0x20]
fcom dword [eax + ecx*4]
lea ecx, [eax + ecx*4]
fnstsw ax
test ah, 0x41
jp 0x1001b305
fxch st(1)
fst dword [esp + 0x7c]
jmp 0x1001b30f
fld st(1)
fchs
fstp dword [esp + 0x7c]
fxch st(1)
fld dword [esp + 0x7c]
fadd dword [ecx]
fstp dword [ecx]
fxch st(1)
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x5c]
add ecx, 1
cmp ecx, dword [esp + 0x38]
mov dword [esp + 0x24], ecx
jl 0x1001b090
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x20]
add eax, eax
add eax, eax
add dword [esp + 0x50], eax
add dword [esp + 0x4c], eax
add dword [esp + 0x58], eax
add ecx, 1
add edi, eax
cmp ecx, dword [esp + 0x9c]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x5c], edi
jl 0x1001b03b
add ebp, 1
cmp ebp, dword [esp + 0xb4]
mov dword [esp + 0x2c], ebp
jb 0x1001a869
mov eax, dword [esp + 0xb0]
fstp st(1)
mov esi, dword [esp + 0x3c]
fstp st(0)
mov ecx, dword [esp + 0x14]
mov dl, byte [esp + 0x13]
mov byte [eax + 0xc], dl
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x40]
mov edx, esi
sub edx, dword [esp + 0x88]
mov dword [eax + 0x10], ecx
mov ecx, dword [eax + 0x14]
mov dword [eax + 4], ebx
mov dword [ecx + 8], edx
mov edx, dword [eax + 0x14]
pop edi
mov dword [edx], esi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret
pop edi
fstp st(1)
pop esi
fstp st(0)
pop ebp
pop ebx
add esp, 0x7c
ret