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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x101a08c8
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
push ebx
push esi
push edi
mov eax, dword [0x10218460]
xor eax, esp
push eax
lea eax, [esp + 0xb0]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x28], ebx
push ebx
call fcn.100d2270
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov byte [esi + 0x10], 0
mov byte [edi + 0x10], 0
mov eax, dword [esi + 0xc]
xor ecx, ecx
cmp eax, ecx
jl 0x100d2fcc
je 0x100d2fdf
cmp byte [esi + 0x10], cl
je 0x100d2fdf
call fcn.1012c8b0
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi + 0xc], eax
mov byte [esi + 0x11], 1
xor ecx, ecx
mov dword [esi + 8], ecx
mov eax, dword [edi + 0xc]
cmp eax, ecx
jl 0x100d2ff1
je 0x100d3016
cmp byte [edi + 0x10], 0
je 0x100d3016
cmp byte [edi + 0x11], 0
je 0x100d3009
mov eax, dword [edi + 4]
cmp eax, ecx
je 0x100d3009
push eax
call fcn.10178e5d
add esp, 4
xor ecx, ecx
mov dword [edi + 8], ecx
mov dword [edi + 4], ecx
mov dword [edi + 0xc], ecx
mov byte [edi + 0x11], 1
fld dword [0x101e92bc]
sub esp, 0xc
fstp dword [esp + 0x44]
lea eax, [esp + 0x60]
fldz
mov dword [edi + 8], ecx
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call fcn.1004b450
mov ecx, dword [ebp + 8]
mov dword [esp + 0xb8], 1
mov eax, dword [ebx + 0x2c8]
mov eax, dword [eax + 8]
push eax
lea esi, [ebx + 0x78]
push ecx
push esi
mov dword [esp + 0x2c], esi
call fcn.100db380
mov edx, dword [ebx]
mov eax, dword [edx + 0x2c]
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 0x30]
mov ecx, ebx
call eax
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], eax
jmp 0x100d3090
mov eax, dword [esi + 0x19c]
sub eax, dword [esi + 8]
mov ecx, dword [esi + 0x190]
mov edx, dword [esi + 0x194]
sub eax, ecx
mov ecx, dword [esi + 0x1a0]
sub ecx, dword [esi + 0xc]
mov dword [esp + 0x14], eax
sub ecx, edx
test eax, eax
mov dword [esp + 0x10], ecx
lea edx, [esp + 0x14]
jg 0x100d30c6
lea edx, [esp + 0x4c]
test ecx, ecx
lea eax, [esp + 0x10]
jg 0x100d30d2
lea eax, [esp + 0x44]
mov ecx, dword [eax]
imul ecx, dword [edx]
test ecx, ecx
jle 0x100d3a20
mov edx, dword [ebx + 0x2a4]
mov eax, dword [edx + 8]
mov ecx, dword [ebx + 0x2c8]
mov edi, dword [ecx + 8]
mov dword [esp + 0x1c], eax
mov eax, esi
call fcn.100dae30
mov eax, dword [ebx + 0x264]
xor edi, edi
test eax, eax
jl 0x100d3115
cmp eax, edi
je 0x100d314a
cmp byte [ebx + 0x268], 0
je 0x100d314a
cmp byte [ebx + 0x269], 0
je 0x100d3131
mov eax, dword [ebx + 0x25c]
cmp eax, edi
je 0x100d3131
push eax
call fcn.10178e5d
add esp, 4
mov dword [ebx + 0x260], edi
mov dword [ebx + 0x25c], edi
mov dword [ebx + 0x264], edi
mov byte [ebx + 0x269], 1
xor ecx, ecx
lea edi, [ebx + 0x274]
mov dword [ebx + 0x260], ecx
mov eax, dword [edi + 0xc]
cmp eax, ecx
mov dword [esp + 0x34], edi
jl 0x100d316a
je 0x100d318f
cmp byte [edi + 0x10], cl
je 0x100d318f
cmp byte [edi + 0x11], 0
je 0x100d3182
mov eax, dword [edi + 4]
cmp eax, ecx
je 0x100d3182
push eax
call fcn.10178e5d
add esp, 4
xor ecx, ecx
mov dword [edi + 8], ecx
mov dword [edi + 4], ecx
mov dword [edi + 0xc], ecx
mov byte [edi + 0x11], 1
fld dword [0x101e93a8]
mov dword [edi + 8], ecx
cmp dword [ebx + 0x54], 1
fstp dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
jle 0x100d32e0
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0x4c]
add ecx, 8
call eax
cmp eax, dword [ebx + 0x58]
lea ecx, [ebx + 0x58]
mov dword [esp + 0x10], eax
jge 0x100d31c9
lea ecx, [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov edi, dword [ecx]
lea ecx, [eax + 0x10]
mov byte [eax + 0x20], 0
mov dword [esp + 0x18], ecx
call fcn.10038410
nop
mov ecx, dword [esi + 0xc0]
mov eax, dword [esi + 0x13c]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x30]
call eax
fstp dword [esp + 0x14]
fldz
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100d324c
mov ecx, dword [esi + 0x194]
fstp st(0)
mov edx, dword [esi + 0x190]
mov eax, dword [esi + 0x19c]
mov edi, dword [esi + 0xc4]
sub edi, ecx
sub eax, edx
imul edi, eax
add edi, dword [esi + 0xc0]
lea ecx, [ebx + 0x250]
sub edi, edx
push edi
call fcn.1003e570
add esp, 4
fld dword [esp + 0x14]
fld dword [esp + 0x24]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x100d328a
mov edi, dword [esi + 0x190]
fstp dword [esp + 0x24]
mov edx, dword [esi + 0x194]
mov ecx, dword [esi + 0x19c]
mov eax, dword [esi + 0xc4]
sub eax, edx
sub ecx, edi
imul eax, ecx
add eax, dword [esi + 0xc0]
sub eax, edi
mov dword [esp + 0x2c], eax
jmp 0x100d328c
fstp st(0)
mov ecx, dword [ebx + 0x54]
push ecx
mov eax, esi
call fcn.100db6e0
test al, al
jne 0x100d31e0
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov byte [edx + 0x20], al
call fcn.10038410
mov eax, dword [ebx + 0x260]
mov esi, dword [esp + 0x34]
push 0
push eax
call fcn.10009380
fldz
push ecx
fstp dword [esp]
mov eax, esi
call fcn.10061260
mov esi, dword [esp + 0x20]
jmp 0x100d33b3
mov ecx, dword [esi + 0xc0]
mov eax, dword [esi + 0x13c]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x30]
call eax
fstp dword [esp + 0x18]
fldz
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100d3360
mov ecx, dword [esi + 0x194]
fstp st(0)
mov eax, dword [esi + 0x19c]
mov edx, dword [esi + 0xc4]
sub eax, dword [esi + 0x190]
sub edx, ecx
imul edx, eax
add edx, dword [esi + 0xc0]
lea ecx, [ebx + 0x250]
sub edx, dword [esi + 0x190]
push edx
call fcn.1003e570
fld dword [esp + 0x1c]
mov ebx, edi
fstp dword [esp]
call fcn.1014b020
fld dword [esp + 0x1c]
mov ebx, dword [esp + 0x2c]
add esp, 4
fld dword [esp + 0x24]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x100d33a0
mov ecx, dword [esi + 0x19c]
fstp dword [esp + 0x24]
mov edx, dword [esi + 0x194]
mov eax, dword [esi + 0xc4]
sub ecx, dword [esi + 0x190]
sub eax, edx
imul eax, ecx
add eax, dword [esi + 0xc0]
sub eax, dword [esi + 0x190]
mov dword [esp + 0x2c], eax
jmp 0x100d33a2
fstp st(0)
push 1
mov eax, esi
call fcn.100db6e0
test al, al
jne 0x100d32e0
cmp dword [ebx + 0x54], 1
jle 0x100d3521
cmp dword [ebx + 0x260], 0
mov dword [esp + 0x10], 0
jle 0x100d34de
mov eax, dword [ebx + 0x54]
mov ecx, dword [esp + 0x10]
or eax, 1
push eax
push eax
mov eax, dword [ebx + 0x25c]
mov eax, dword [eax + ecx*4]
call fcn.100daf00
fld dword [0x101e93a8]
fstp dword [esp + 0x18]
xor esi, esi
jmp 0x100d3400
mov edi, dword [esp + 0x20]
mov edx, dword [edi + 0xc0]
mov eax, dword [edi + 0x13c]
mov ecx, dword [esp + 0x1c]
lea eax, [eax + edx*4]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x30]
call eax
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [esp + 0x18]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x100d3461
mov edx, dword [edi + 0x190]
fstp dword [esp + 0x18]
mov ecx, dword [edi + 0x194]
mov eax, dword [edi + 0x19c]
mov esi, dword [edi + 0xc4]
sub esi, ecx
sub eax, edx
imul esi, eax
add esi, dword [edi + 0xc0]
sub esi, edx
jmp 0x100d3463
fstp st(0)
push 1
mov eax, edi
call fcn.100db6e0
test al, al
jne 0x100d3400
mov ecx, dword [ebx + 0x214]
fld dword [esp + 0x18]
sub ecx, dword [ebx + 0x208]
mov eax, esi
cdq
idiv ecx
mov ecx, dword [ebx + 0x214]
sub ecx, dword [ebx + 0x208]
imul ecx, eax
sub esi, ecx
mov ecx, dword [ebx + 0x20c]
add ecx, eax
mov eax, dword [ebx + 0x208]
lea edx, [eax + esi]
mov eax, dword [ebx + 0x1f4]
imul eax, ecx
mov ecx, dword [esp + 0x10]
add eax, edx
mov edx, dword [ebx + 0x25c]
mov dword [edx + ecx*4], eax
mov eax, dword [ebx + 0x278]
add ecx, 1
mov dword [esp + 0x10], ecx
fstp dword [eax + ecx*4 - 4]
cmp ecx, dword [ebx + 0x260]
mov esi, edi
jl 0x100d33d2
mov eax, dword [ebx + 0x1f8]
mov ecx, dword [ebx + 0x1f4]
push eax
push ecx
push 0
push 0
lea eax, [esp + 0x94]
call fcn.10049010
mov ecx, eax
mov eax, esi
mov byte [esp + 0xb8], 2
call fcn.100dae70
lea ecx, [esp + 0xa4]
mov byte [esp + 0xb8], 1
call fcn.10049090
mov edx, dword [ebx + 0x298]
mov eax, dword [edx + 0x4c]
lea ecx, [ebx + 0x298]
mov dword [esp + 0x1c], 1
call eax
cmp eax, 1
jle 0x100d3728
mov dword [esp + 0x14], 0xc
jmp 0x100d3550
cmp dword [ebx + 0x260], 0
je 0x100d3728
mov ecx, dword [ebx + 0x2a4]
fld dword [0x101e93a8]
mov eax, dword [esp + 0x14]
fstp dword [esp + 0x24]
mov edx, dword [eax + ecx + 8]
mov ecx, dword [ebx + 0x2c8]
mov edi, dword [ecx + eax + 8]
mov eax, esi
mov dword [esp + 0x50], edx
call fcn.100dae30
xor eax, eax
cmp dword [ebx + 0x260], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
jle 0x100d3659
mov edx, dword [ebx + 0x25c]
mov eax, dword [esp + 0x18]
mov ecx, dword [edx + eax*4]
mov edi, dword [esi + 0x17c]
mov eax, ecx
cdq
idiv edi
mov edx, esi
imul edi, eax
sub ecx, edi
call fcn.100db840
mov ecx, dword [esi + 0xc0]
mov eax, dword [esi + 0x13c]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x30]
call eax
mov ecx, dword [esp + 0x18]
fstp dword [esp + 0x30]
fldz
fld dword [esp + 0x30]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100d3624
mov eax, dword [ebx + 0x25c]
mov edx, dword [esp + 0x10]
mov edi, dword [eax + ecx*4]
mov dword [eax + edx*4], edi
mov eax, dword [ebx + 0x278]
fld dword [eax + ecx*4]
add edx, 1
fadd st(1)
mov dword [esp + 0x10], edx
fmul qword [0x101e9328]
fstp dword [eax + edx*4 - 4]
fld dword [esp + 0x24]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x100d3644
mov edx, dword [ebx + 0x25c]
fstp dword [esp + 0x24]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x2c], eax
jmp 0x100d3646
fstp st(0)
add ecx, 1
cmp ecx, dword [ebx + 0x260]
mov dword [esp + 0x18], ecx
jl 0x100d35a0
mov eax, dword [ebx + 0x264]
mov esi, dword [esp + 0x10]
cmp esi, eax
jg 0x100d3676
je 0x100d36e9
cmp byte [ebx + 0x268], 0
je 0x100d36e9
xor edi, edi
cmp byte [ebx + 0x269], 0
je 0x100d3694
mov eax, dword [ebx + 0x25c]
cmp eax, edi
je 0x100d3694
push eax
call fcn.10178e5d
add esp, 4
xor eax, eax
cmp esi, edi
mov dword [ebx + 0x25c], edi
mov dword [ebx + 0x260], edi
mov dword [ebx + 0x264], edi
mov byte [ebx + 0x269], 0
jle 0x100d36d6
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.101790d8
add esp, 4
test eax, eax
je 0x100d3a76
mov dword [ebx + 0x25c], eax
mov dword [ebx + 0x264], esi
mov byte [ebx + 0x269], 1
push 0
mov dword [ebx + 0x260], esi
push esi
mov esi, dword [esp + 0x3c]
call fcn.10009380
mov esi, dword [esp + 0x1c]
mov eax, dword [ebx + 0x298]
mov edx, dword [eax + 0x4c]
add dword [esp + 0x14], 0xc
lea ecx, [ebx + 0x298]
add esi, 1
mov dword [esp + 0x1c], esi
call edx
cmp esi, eax
mov esi, dword [esp + 0x20]
jl 0x100d3550
mov eax, dword [ebx + 0x68]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x10], eax
je 0x100d38cd
mov eax, dword [ebx + 0x260]
cmp eax, edi
jle 0x100d38cd
fld dword [0x101e93a8]
mov dword [esp + 0x14], edi
fstp dword [esp + 0x24]
jmp 0x100d3760
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0x25c]
mov edx, dword [ebx + 0xfc]
mov ecx, dword [ebx + 0x1f4]
add esi, esi
add esi, esi
add eax, esi
mov eax, dword [eax]
add eax, edx
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
push ecx
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [edx + 0x44]
call eax
fldz
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x100d37b1
fchs
call fcn.10189a7c
fld1
fld st(0)
fsub st(2)
fxch st(2)
faddp st(1)
fdivp st(1)
jmp 0x100d37c0
call fcn.10189a7c
fld st(0)
fld1
fsub st(1), st(0)
faddp st(2)
fdivrp st(1)
fstp dword [esp + 0x30]
fldz
fld dword [esp + 0x30]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100d37f9
mov eax, dword [ebx + 0x25c]
mov ecx, dword [esi + eax]
mov dword [eax + edi*4], ecx
mov eax, dword [ebx + 0x278]
fld dword [esi + eax]
add edi, 1
fadd st(1)
fmul qword [0x101e9328]
fstp dword [eax + edi*4 - 4]
fld dword [esp + 0x24]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x100d3819
mov edx, dword [ebx + 0x25c]
fstp dword [esp + 0x24]
mov eax, dword [esi + edx]
mov dword [esp + 0x2c], eax
jmp 0x100d381b
fstp st(0)
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [ebx + 0x260]
mov dword [esp + 0x14], eax
jl 0x100d3760
mov eax, dword [ebx + 0x264]
cmp edi, eax
jg 0x100d3847
je 0x100d38b7
cmp byte [ebx + 0x268], 0
je 0x100d38b7
cmp byte [ebx + 0x269], 0
je 0x100d3863
mov eax, dword [ebx + 0x25c]
test eax, eax
je 0x100d3863
push eax
call fcn.10178e5d
add esp, 4
xor eax, eax
cmp edi, eax
mov dword [ebx + 0x25c], eax
mov dword [ebx + 0x260], eax
mov dword [ebx + 0x264], eax
mov byte [ebx + 0x269], al
jle 0x100d38a4
xor ecx, ecx
mov eax, edi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.101790d8
add esp, 4
test eax, eax
je 0x100d3a9e
mov dword [ebx + 0x25c], eax
mov dword [ebx + 0x264], edi
mov byte [ebx + 0x269], 1
mov esi, dword [esp + 0x34]
push 0
push edi
mov dword [ebx + 0x260], edi
call fcn.10009380
mov esi, dword [esp + 0x20]
cmp dword [ebx + 0x260], 0
jne 0x100d391b
fld dword [esp + 0x24]
fld dword [esp + 0x38]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x100d3a0f
mov esi, dword [esp + 0x2c]
fstp dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
lea edi, [esp + 0x74]
call fcn.100d2170
mov ecx, eax
lea eax, [esp + 0x54]
call fcn.1004b480
mov ecx, edi
call fcn.1004b470
mov esi, dword [esp + 0x20]
jmp 0x100d3a11
fld1
fcomp dword [ebx + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x100d3947
mov eax, dword [esp + 0x34]
push eax
push ecx
mov ecx, dword [esp + 0x30]
fld dword [ecx + 0x1c]
add ebx, 0x250
fstp dword [esp]
push esi
call fcn.100dbae0
mov ebx, dword [esp + 0x28]
cmp dword [ebx + 0x260], 0
mov dword [esp + 0x1c], 0
jle 0x100d39e0
lea esp, [esp]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x25c]
add ecx, ecx
add ecx, ecx
mov esi, dword [eax + ecx]
add eax, ecx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x20]
lea edi, [esp + 0x64]
call fcn.100d2170
mov esi, dword [ebp + 0xc]
push eax
mov byte [esp + 0xbc], 3
call fcn.1003e640
add esp, 4
mov ecx, edi
mov byte [esp + 0xb8], 1
call fcn.1004b470
mov edx, dword [ebx + 0x278]
mov eax, dword [esp + 0x30]
fld dword [edx + eax]
mov ebx, dword [ebp + 0x10]
push ecx
fstp dword [esp]
call fcn.1014b020
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
add eax, 1
add esp, 4
cmp eax, dword [ecx + 0x260]
mov dword [esp + 0x1c], eax
mov ebx, ecx
jl 0x100d3960
mov esi, dword [esp + 0x20]
fld1
fcomp dword [ebx + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x100d3a11
mov edx, dword [ebp + 0x10]
fld dword [ebx + 0x1c]
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
push edx
push ecx
fstp dword [esp]
call fcn.100f6a40
add esp, 0x14
jmp 0x100d3a11
fstp st(0)
mov eax, esi
call fcn.100db550
test al, al
jne 0x100d3090
mov edx, dword [ebp + 0x10]
cmp dword [edx + 8], 0
jne 0x100d3a58
push 0
push 1
mov esi, edx
call fcn.10009380
mov ebx, dword [ebp + 0xc]
mov edi, 1
mov ecx, ebx
call fcn.1000ec40
fld dword [esp + 0x38]
mov eax, dword [esi + 4]
fstp dword [eax]
mov eax, dword [ebx + 4]
lea ecx, [esp + 0x54]
call fcn.1004b480
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0xb0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 4
push esi
push str.void_ert_TmplArr_Type_::size__int32_sizeA__
push str._s:_nFailed_to_allocate__i_untits_of__i_bytes_n
lea eax, [esp + 0x4c]
call fcn.100595b0
add esp, 0x10
push 0x102051a0
lea eax, [esp + 0x40]
push eax
call fcn.1017d044
push 4
push edi
push str.void_ert_TmplArr_Type_::size__int32_sizeA__
push str._s:_nFailed_to_allocate__i_untits_of__i_bytes_n
lea eax, [esp + 0x4c]
call fcn.100595b0
add esp, 0x10
push 0x102051a0
lea ecx, [esp + 0x40]
push ecx
call fcn.1017d044
int3