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

Disassembly:
and al, 0x28
cmp eax, 0x2d
ja case.0x10122da6.1
movzx ecx, byte [eax + 0x101239ac]
jmp dword [ecx*4 + 0x1012399c]
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x68]
push edx
push edi
push eax
call fcn.10166da0
mov esi, eax
jmp 0x101238ec
push 1
mov eax, esi
call fcn.10166da0
test al, al
je 0x10122dea
cmp dword [esi + 0xc], 0
jne case.0x10122da6.1
mov edi, dword [esi + 8]
push 6
mov eax, edi
call fcn.10166da0
test al, al
je case.0x10122da6.1
mov eax, edi
jmp 0x10122df9
push 6
mov eax, esi
call fcn.10166da0
test al, al
je case.0x10122da6.1
mov eax, esi
cmp dword [eax + 0x18], 5
jne case.0x10122da6.1
lea ecx, [esp + 0x28]
call fcn.100d8b70
test eax, eax
jl 0x10122e1d
mov esi, dword [esp + 0x28]
push 5
mov eax, esi
call fcn.10166da0
test al, al
jne case.0x10122da6.1
mov esi, ebx
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x58], edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
cmp esi, edi
je 0x10122eac
cmp dword [esi + 4], 5
jne 0x10122eac
mov ecx, dword [esi + 0x1c]
imul ecx, dword [esi + 0x18]
mov dword [esp + 0x58], esi
mov dword [esp + 0x34], ecx
cmp ecx, 8
ja 0x10122e77
mov eax, 8
sub eax, ecx
shl ecx, 4
lea edx, [esp + 0x80]
lea ecx, [esp + ecx + 0x80]
mov dword [esp + 0x24], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x48], ecx
jmp 0x10122eb0
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
mov edx, 0x10
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
jne 0x10122eac
mov esi, 0x8007000e
jmp 0x101238ec
mov eax, dword [esp + 0x64]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x28]
test ecx, ecx
je 0x10122eee
cmp dword [ecx + 4], 5
jne 0x10122eee
mov ebx, ecx
mov edi, dword [ebx + 0x1c]
imul edi, dword [ebx + 0x18]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x38], edi
cmp edi, eax
ja 0x10122f2a
mov ecx, dword [esp + 0x48]
mov edx, edi
sub eax, edi
shl edx, 4
mov dword [esp + 0x44], ecx
add ecx, edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x48], ecx
mov eax, dword [ebp + 8]
cmp byte [eax + 0x2c], 0
je 0x10122f57
mov eax, dword [esp + 0x58]
test eax, eax
je 0x10122f1d
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x6c]
push edx
push eax
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
test ebx, ebx
je 0x10122f9b
mov eax, dword [esp + 0x44]
push eax
push edi
push ebx
jmp 0x10122f88
xor ecx, ecx
mov eax, edi
mov edx, 0x10
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
jne 0x10122eee
mov esi, 0x8007000e
jmp 0x101238ec
test ebx, ebx
je 0x10122f75
mov ecx, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x6c]
push edi
push ebx
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
mov eax, dword [esp + 0x58]
test eax, eax
je 0x10122f9b
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
push edx
push ecx
push eax
mov ecx, dword [esp + 0x74]
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x20]
cmp eax, 0x26
ja case.0x10122fb1.3
movzx edx, byte [eax + 0x101239fc]
jmp dword [edx*4 + 0x101239dc]
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x101230d6
mov eax, dword [esp + 0x34]
cmp eax, 1
jne 0x10123000
xor ebx, ebx
cmp dword [esp + 0x20], ebx
jbe 0x101236c9
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x24]
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
inc ebx
add edi, 0x10
cmp ebx, dword [esp + 0x20]
jb 0x10122fdc
xor esi, esi
jmp 0x101238ec
cmp dword [esp + 0x20], eax
je 0x10123094
mov eax, dword [ebx + 0x18]
cmp eax, dword [ecx + 0x18]
ja 0x10123094
mov edi, dword [ebx + 0x1c]
cmp edi, dword [ecx + 0x1c]
ja 0x10123094
mov dword [esp + 0x48], 0
test eax, eax
jbe 0x101236c9
mov edi, edi
xor ebx, ebx
test edi, edi
jbe 0x1012307c
jmp 0x10123040
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esp + 0x48]
imul eax, ecx
imul edi, ecx
add eax, ebx
add edi, ebx
shl eax, 4
add eax, dword [esp + 0x24]
shl edi, 4
add edi, dword [ebp + 0x10]
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0x1c]
inc ebx
cmp ebx, edi
jb 0x10123040
mov eax, dword [esp + 0x48]
mov edx, dword [ebp + 8]
inc eax
mov dword [esp + 0x48], eax
cmp eax, dword [edx + 0x18]
jb 0x10123030
xor esi, esi
jmp 0x101238ec
xor ebx, ebx
cmp dword [esp + 0x20], ebx
jbe 0x101236c9
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x24]
sub eax, edi
mov dword [esp + 0x48], eax
jmp 0x101230b4
mov eax, dword [esp + 0x48]
add eax, edi
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
inc ebx
add edi, 0x10
cmp ebx, dword [esp + 0x20]
jb 0x101230b0
xor esi, esi
jmp 0x101238ec
mov eax, dword [ebx + 0x24]
test eax, eax
je case.0x10122da6.3
cmp dword [eax + 4], 6
jne 0x10123118
mov ecx, dword [eax + 0x18]
add eax, 0x18
cmp ecx, 5
je case.0x10122da6.3
cmp ecx, 7
je case.0x10122da6.3
mov edi, dword [ebp + 0x10]
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
xor esi, esi
jmp 0x101238ec
test eax, eax
je case.0x10122da6.3
cmp dword [eax + 4], 1
jne case.0x10122da6.3
mov ecx, eax
mov dword [esp + 0x38], eax
mov eax, dword [ecx + 8]
test eax, eax
je 0x1012324e
cmp dword [eax + 4], 6
jne 0x10123177
mov ecx, dword [eax + 0x18]
add eax, 0x18
cmp ecx, 5
je case.0x10122da6.3
cmp ecx, 7
je case.0x10122da6.3
mov edi, dword [ebp + 0x10]
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
dec dword [ebp + 0xc]
add dword [ebp + 0x10], 0x10
jmp 0x1012324a
test eax, eax
je 0x1012324e
cmp dword [eax + 4], 5
jne 0x1012324e
mov ebx, dword [eax + 0x1c]
imul ebx, dword [eax + 0x18]
cmp ebx, dword [esp + 0x64]
ja 0x101231a0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x6c], eax
jmp 0x101231c7
xor ecx, ecx
mov eax, ebx
mov edx, 0x10
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x6c], eax
test eax, eax
je 0x10122f4d
push eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 8]
push ebx
push ecx
mov ecx, dword [esp + 0x74]
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
mov dword [esp + 0x28], 0
test ebx, ebx
jbe 0x10123226
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x6c]
sub eax, edi
mov dword [esp + 0x58], eax
lea ecx, [ecx]
mov edx, dword [esp + 0x58]
lea eax, [edx + edi]
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
mov eax, dword [esp + 0x28]
inc eax
add edi, 0x10
mov dword [esp + 0x28], eax
cmp eax, ebx
jb 0x10123200
mov eax, dword [esp + 0x6c]
cmp eax, dword [esp + 0x48]
je 0x10123241
push eax
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esp + 0x6c], 0
sub dword [ebp + 0xc], ebx
shl ebx, 4
add dword [ebp + 0x10], ebx
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x38], ecx
test ecx, ecx
jne 0x10123130
xor esi, esi
jmp 0x101238ec
cmp dword [esp + 0x58], 0
je case.0x10122da6.3
cmp dword [esp + 0x28], 0
je case.0x10122da6.3
xor ebx, ebx
cmp dword [esp + 0x34], ebx
jbe 0x101232a2
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x24]
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
inc ebx
add edi, 0x10
cmp ebx, dword [esp + 0x34]
jb 0x10123285
xor ebx, ebx
cmp dword [esp + 0x38], ebx
jbe 0x101236c9
mov edi, dword [esp + 0x34]
shl edi, 4
add edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x44]
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
inc ebx
add edi, 0x10
cmp ebx, dword [esp + 0x38]
jb 0x101232b8
xor esi, esi
jmp 0x101238ec
mov ecx, dword [esp + 0x44]
lea esi, [esp + 0x28]
call fcn.10122960
mov esi, eax
test esi, esi
jl 0x101238ec
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
push eax
push esi
push 0
push edi
call fcn.101cdda0
xor ecx, ecx
cmp edx, ecx
jb 0x1012333a
ja 0x10123317
cmp eax, dword [esp + 0x34]
jb 0x1012333a
push 0x1003ebe4
mov ecx, ebx
call fcn.10061740
mov edi, dword [esp + 0x6c]
push eax
mov ecx, 0xbd6
call fcn.10166da0
add esp, 8
jmp case.0x10122da6.3
mov dword [esp + 0x28], 0
test edi, edi
jbe 0x1012337d
imul esi, dword [esp + 0x20]
mov edi, dword [ebp + 0x10]
shl esi, 4
add esi, dword [esp + 0x24]
mov ebx, esi
mov eax, ebx
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
mov eax, dword [esp + 0x28]
inc eax
add ebx, 0x10
add edi, 0x10
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x20]
jb 0x10123357
xor esi, esi
jmp 0x101238ec
mov ecx, ebx
mov ebx, dword [ecx + 0x28]
mov eax, dword [ebx + 4]
cmp eax, 6
jne 0x101233f1
lea ecx, [ebx + 0x18]
lea esi, [esp + 0x48]
call fcn.10122960
mov esi, eax
test esi, esi
jl 0x101238ec
cmp dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
jbe 0x101233ea
mov ebx, dword [esp + 0x48]
mov edi, dword [ebp + 0x10]
shl ebx, 4
add ebx, dword [esp + 0x24]
mov eax, ebx
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
mov eax, dword [esp + 0x28]
inc eax
add ebx, 0x10
add edi, 0x10
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x20]
jb 0x101233c4
xor esi, esi
jmp 0x101238ec
cmp eax, 1
jne case.0x10122da6.3
cmp dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
jbe 0x101236c9
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebx + 8]
add ecx, 0x18
lea esi, [esp + 0x48]
call fcn.10122960
mov esi, eax
test esi, esi
jl 0x101238ec
mov eax, dword [esp + 0x48]
shl eax, 4
add eax, dword [esp + 0x24]
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
mov eax, dword [esp + 0x28]
mov ebx, dword [ebx + 0xc]
inc eax
add edi, 0x10
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x20]
jb 0x10123410
xor esi, esi
jmp 0x101238ec
cmp dword [esp + 0x34], 0
mov dword [esp + 0x28], 0
jbe 0x10123507
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x24]
shl eax, 4
add eax, ecx
mov dword [esp + 0x48], eax
mov eax, ecx
sub eax, ebx
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 0x10]
sub eax, ebx
mov dword [esp + 0x38], eax
jmp 0x101234a0
mov edx, dword [ebx]
cmp edx, 3
ja case.0x10122da6.3
mov eax, ebx
lea ecx, [esp + 0x58]
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
fldz
fcomp qword [esp + 0x58]
fnstsw ax
test ah, 0x44
jnp 0x101234d6
mov edx, dword [esp + 0x64]
lea eax, [edx + ebx]
jmp 0x101234da
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x38]
lea edi, [ecx + ebx]
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
mov eax, dword [esp + 0x28]
add dword [esp + 0x48], 0x10
inc eax
add ebx, 0x10
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x34]
jb 0x101234a0
xor esi, esi
jmp 0x101238ec
cmp dword [esp + 0x20], 0
mov dword [esp + 0x48], 0
jbe 0x10123651
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x24]
mov ebx, dword [ebp + 0x10]
sub ecx, eax
sub eax, ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x64], eax
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x28]
lea edi, [ebx + edx]
lea ecx, [edi + eax]
lea esi, [esp + 0x38]
call fcn.10122960
mov esi, eax
test esi, esi
jl 0x101238ec
mov ecx, edi
lea esi, [esp + 0x58]
call fcn.10122960
mov esi, eax
test esi, esi
jl 0x101238ec
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x20]
add eax, 0xfffffff2
mov dword [esp + 0x70], 2
cmp eax, 0xa
ja case.0x1012358f.16
movzx edx, byte [eax + 0x10123a3c]
jmp dword [edx*4 + 0x10123a24]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
and ecx, 0x1f
call fcn.101cde50
mov dword [esp + 0x78], eax
jmp 0x10123622
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
and ecx, 0x1f
cmp dword [ebx], 2
jne 0x101235cf
call fcn.101ce050
mov dword [esp + 0x78], eax
jmp 0x10123622
call fcn.101ce080
mov dword [esp + 0x78], eax
jmp 0x10123622
mov eax, dword [esp + 0x58]
and eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x5c]
and ecx, dword [esp + 0x3c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
jmp case.0x1012358f.16
mov edx, dword [esp + 0x58]
or edx, dword [esp + 0x38]
mov eax, dword [esp + 0x5c]
or eax, dword [esp + 0x3c]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
jmp case.0x1012358f.16
mov ecx, dword [esp + 0x58]
xor ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x5c]
xor edx, dword [esp + 0x3c]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
lea eax, [esp + 0x70]
mov edi, ebx
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
mov eax, dword [esp + 0x48]
inc eax
add ebx, 0x10
mov dword [esp + 0x48], eax
cmp eax, dword [esp + 0x20]
jb 0x10123538
xor esi, esi
jmp 0x101238ec
xor ebx, ebx
cmp dword [esp + 0x20], ebx
jbe 0x101236c9
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x24]
sub eax, edi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
lea ecx, [eax + edi]
lea esi, [esp + 0x28]
call fcn.10122960
mov esi, eax
test esi, esi
jl 0x101238ec
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x20], 8
mov dword [esp + 0x70], 2
jne 0x101236ac
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
not edx
not eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x70]
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
inc ebx
add edi, 0x10
cmp ebx, dword [esp + 0x20]
jb 0x1012366d
xor esi, esi
jmp 0x101238ec
xor ebx, ebx
mov byte [esp + 0x57], 1
cmp dword [esp + 0x34], ebx
jbe 0x10123710
mov edi, dword [esp + 0x24]
mov edx, dword [edi]
cmp edx, 3
ja case.0x10122da6.3
lea ecx, [edi + 8]
mov eax, edi
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
mov dword [edi], 3
inc ebx
add edi, 0x10
cmp ebx, dword [esp + 0x34]
jb 0x101236e1
xor ebx, ebx
cmp dword [esp + 0x38], ebx
jbe 0x1012374f
mov edi, dword [esp + 0x44]
lea esp, [esp]
mov edx, dword [edi]
cmp edx, 3
ja case.0x10122da6.3
lea ecx, [edi + 8]
mov eax, edi
call fcn.10166da0
mov esi, eax
test esi, esi
jl 0x101238ec
mov dword [edi], 3
inc ebx
add edi, 0x10
cmp ebx, dword [esp + 0x38]
jb 0x10123720
cmp dword [esp + 0x58], 0
mov eax, dword [esp + 0x20]
je 0x10123764
cmp dword [esp + 0x34], eax
jne case.0x10122da6.3
cmp dword [esp + 0x28], 0
je 0x10123775
cmp dword [esp + 0x38], eax
jne case.0x10122da6.3
xor edi, edi
test eax, eax
jbe 0x101236c9
mov ecx, dword [esp + 0x44]
fldz
mov edx, dword [esp + 0x24]
fld1
mov ebx, dword [ebp + 0x10]
sub edx, ecx
lea esi, [ecx + 8]
mov dword [esp + 0x28], edx
sub ebx, ecx
cmp dword [esp + 0x24], 0
je 0x101237a5
fld qword [esi + edx]
jmp 0x101237a7
fld st(1)
test ecx, ecx
je 0x101237af
fld qword [esi]
jmp 0x101237b1
fld st(2)
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
add eax, 0xfffffffb
cmp eax, 0x15
ja case.0x101237c3.8
jmp dword [eax*4 + 0x10123a48]
fstp st(0)
fld st(2)
fucompp
fnstsw ax
test ah, 0x44
jp 0x101238cb
fld st(0)
jmp 0x10123826
fstp st(0)
fchs
jmp 0x10123826
fstp st(0)
jmp 0x10123826
fmulp st(1)
jmp 0x10123826
fld st(0)
fucomp st(4)
fnstsw ax
test ah, 0x44
jnp case.0x101237c3.8
fdivp st(1)
jmp 0x10123826
fstp st(2)
fld st(1)
fucomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x44
jnp 0x101238e3
call sub.msvcrt.dll__CIfmod
fld1
fldz
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
fxch st(2)
fstp qword [ebx + esi]
inc edi
add esi, 0x10
cmp edi, dword [esp + 0x20]
jb 0x10123799
fstp st(1)
xor esi, esi
fstp st(0)
jmp 0x101238ec
faddp st(1)
jmp 0x10123826
fsubp st(1)
jmp 0x10123826
fcompp
fnstsw ax
test ah, 0x41
jne 0x101238cb
fld st(0)
jmp 0x10123826
fcompp
fnstsw ax
test ah, 5
jp 0x101238cb
fld st(0)
jmp 0x10123826
fcompp
fnstsw ax
test ah, 1
jne 0x101238cb
fld st(0)
jmp 0x10123826
fcompp
fnstsw ax
test ah, 0x41
jp 0x101238cb
fld st(0)
jmp 0x10123826
fucompp
fnstsw ax
test ah, 0x44
jnp 0x101238cb
fld st(0)
jmp 0x10123826
fld st(3)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x101238aa
fld st(2)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x101238ac
fld st(0)
jmp 0x10123826
fstp st(0)
fld st(1)
jmp 0x10123826
fld st(3)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x101238d2
fld st(2)
fucompp
fnstsw ax
test ah, 0x44
jp 0x101238d4
fld st(1)
jmp 0x10123826
fstp st(0)
fld st(0)
jmp 0x10123826
fstp st(0)
fstp st(0)
fstp st(1)
jmp 0x101238e5
fstp st(0)
fstp st(0)
mov esi, 0x80004005
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x80]
cmp eax, ecx
jb 0x10123906
lea edx, [esp + 0x100]
cmp eax, edx
jb 0x1012390f
push eax
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x80]
cmp eax, ecx
jb 0x10123929
lea edx, [esp + 0x100]
cmp eax, edx
jb 0x10123932
push eax
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x80]
cmp eax, ecx
jb 0x1012394c
lea edx, [esp + 0x100]
cmp eax, edx
jb 0x10123955
push eax
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 4
test esi, esi
jne 0x1012398e
cmp byte [esp + 0x57], 0
je 0x1012398e
xor edi, edi
cmp dword [esp + 0x20], edi
jbe 0x1012398c
mov esi, dword [ebp + 0x10]
jmp 0x10123970
fld qword [esi + 8]
sub esp, 8
fstp qword [esp]
call fcn.10166da0
test eax, eax
jl 0x10123990
inc edi
add esi, 0x10
cmp edi, dword [esp + 0x20]
jb 0x10123970
xor esi, esi
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc