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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x94
mov eax, dword [edx]
mov edi, dword [esp + 0xa8]
test eax, eax
je 0x100cb8e6
mov ebx, dword [edx + 4]
mov dword [esp + 0x4c], edx
mov esi, dword [edi + 4]
mov edx, dword [edi + 8]
mov dword [esp + 0x20], ecx
mov dword [esp + 4], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x18], edx
lea ecx, [eax + 4]
mov dword [esp], eax
movzx eax, word [eax + 0x10e]
mov ebx, 0xffffffff
mov dword [esp + 8], ecx
mov dword [esp + 0x10], eax
movzx eax, ax
mov dword [esp + 0x14], eax
lea eax, [eax*4]
lea esi, [eax + eax*2]
nop word cs:[eax + eax]
nop dword [eax]
test esi, esi
je 0x100cb8a0
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + 8]
lea ebp, [ecx + 0xc]
mov edi, edx
sub edi, eax
cmovb eax, edx
push eax
push dword [ecx + 4]
push dword [esp + 0x14]
call fcn.10100b6a
add esp, 0xc
test eax, eax
mov ecx, 0xff
cmovne edi, eax
xor eax, eax
test edi, edi
setne al
cmovs eax, ecx
add esi, 0xfffffff4
inc ebx
mov ecx, ebp
cmp al, 1
je 0x100cb850
movzx eax, al
test eax, eax
je 0x100cb8c6
mov ecx, dword [esp + 0x14]
jmp 0x100cb8a6
mov ecx, dword [esp + 0x14]
mov ebx, ecx
mov eax, dword [esp + 4]
sub eax, 1
jb 0x100cb9cc
mov dword [esp + 4], eax
mov eax, dword [esp]
mov eax, dword [eax + ebx*4 + 0x110]
jmp 0x100cb818
mov eax, dword [esp + 0xa8]
cmp dword [eax], 0
je 0x100cb8fc
push dword [esp + 0xc]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x100cb8fc
mov esi, dword [edi]
mov eax, dword [edi + 4]
cmp esi, 0x80000000
mov dword [esp], eax
jne 0x100cb951
mov dword [esp + 0x20], ecx
mov ebx, edx
mov edx, dword [esp]
lea eax, [ebx + ebx*2]
mov esi, dword [esp + 0xac]
mov ecx, dword [edx + eax*4 + 0x90]
mov dword [esp + 0x58], ecx
mov ecx, dword [esi + 8]
movsd xmm0, qword [edx + eax*4 + 0x88]
movsd qword [esp + 0x50], xmm0
mov dword [edx + eax*4 + 0x90], ecx
mov ecx, dword [esp + 0x20]
movsd xmm0, qword [esi]
movsd qword [edx + eax*4 + 0x88], xmm0
mov eax, dword [esp + 0x58]
movsd xmm0, qword [esp + 0x50]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
jmp 0x100cb9c1
mov edi, dword [edi + 8]
movzx eax, byte [0x10199148]
mov ebp, edx
mov ebx, ecx
xor ecx, ecx
mov edx, 0x110
call fcn.100ea7d0
test eax, eax
je 0x100cc321
mov ecx, dword [esp]
mov dword [eax], 0
mov word [eax + 0x10e], 1
mov dword [eax + 4], esi
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xac]
mov dword [eax + 0xc], edi
movsd xmm0, qword [ecx]
movsd qword [eax + 0x88], xmm0
mov ecx, dword [ecx + 8]
mov dword [eax + 0x90], ecx
mov dword [ebp], eax
mov dword [ebp + 4], 0
mov dword [ebp + 8], 1
mov dword [ebx], 0x80000000
add esp, 0x94
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0xa8]
mov edx, dword [eax]
cmp edx, 0x80000000
jne 0x100cb9ed
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x4c]
mov dword [esp], eax
jmp 0x100cb8fc
cmp word [esp + 0x10], 0xb
jae 0x100cba6b
mov eax, dword [esp + 8]
lea esi, [ebx + ebx*2]
sub ecx, ebx
lea ebp, [eax + esi*4]
jbe 0x100cba8a
shl ebx, 2
shl ecx, 2
lea ebx, [ebx + ebx*2]
lea ecx, [ecx + ecx*2]
lea eax, [eax + ebx + 0xc]
mov dword [esp + 0x14], ecx
push ecx
push ebp
push eax
mov dword [esp + 0x10], edx
call fcn.10100490
add esp, 0xc
mov ecx, dword [esp + 0xac]
mov edi, dword [esp]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
lea ecx, [edi + ebx + 0x94]
mov dword [esp + 0x3c], eax
movsd qword [esp + 0x34], xmm0
lea eax, [edi + ebx + 0x88]
push dword [esp + 0x14]
push eax
push ecx
call fcn.10100490
mov edx, dword [esp + 0x10]
add esp, 0xc
mov ebx, dword [esp + 0x20]
jmp 0x100cbaa9
mov edi, 4
cmp ebx, 5
mov dword [esp + 4], edx
jae 0x100cbae5
mov esi, dword [esp + 8]
mov dword [esp + 0x1c], 0x18
jmp 0x100cbb1d
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
mov dword [esp + 0x3c], eax
movsd qword [esp + 0x34], xmm0
mov eax, dword [esp + 0xc]
mov dword [ebp], edx
mov ecx, dword [esp + 0x10]
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x18]
inc ecx
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [edi + esi*4 + 0x90], eax
movsd xmm0, qword [esp + 0x34]
movsd qword [edi + esi*4 + 0x88], xmm0
mov word [edi + 0x10e], cx
jmp 0x100cc1cd
mov esi, dword [esp + 8]
je 0x100cbb01
cmp ebx, 6
jne 0x100cbb0d
xor ebx, ebx
mov edi, 5
mov dword [esp + 0x1c], 0x20
jmp 0x100cbb1d
mov dword [esp + 0x1c], 0x18
mov edi, ebx
jmp 0x100cbb1d
add ebx, 0xfffffff9
mov dword [esp + 0x1c], 0x20
mov edi, 6
movzx eax, byte [0x10199148]
xor ecx, ecx
mov edx, 0x110
call fcn.100ea7d0
test eax, eax
je 0x100cc321
mov ecx, dword [esp]
mov dword [eax], 0
lea edx, [edi*4]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
lea edx, [edx + edx*2]
movzx ebp, word [ecx + 0x10e]
mov ecx, edi
mov edi, esi
not ecx
add ecx, ebp
mov word [eax + 0x10e], cx
mov eax, dword [esp]
cmp ecx, 0xc
mov esi, dword [esi + edx + 8]
mov dword [esp + 0x2c], esi
movsd xmm0, qword [edi + edx]
movsd qword [esp + 0x24], xmm0
mov esi, dword [eax + edx + 0x90]
mov dword [esp + 0x80], esi
movsd xmm0, qword [eax + edx + 0x88]
movsd qword [esp + 0x78], xmm0
jae 0x100cc344
mov eax, dword [esp + 0x10]
lea edx, [eax + 1]
sub ebp, edx
cmp ebp, ecx
jne 0x100cc353
mov eax, dword [esp]
shl edx, 2
shl ecx, 2
lea edi, [edx + edx*2]
lea esi, [ecx + ecx*2]
lea ebp, [eax + 0x88]
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x30], eax
mov eax, dword [esp + 8]
add eax, edi
push esi
push eax
push dword [esp + 0x38]
call fcn.10100490
add esp, 0xc
add ebp, edi
mov edi, dword [esp + 0x14]
mov eax, edi
add eax, 0x88
push esi
push ebp
push eax
call fcn.10100490
add esp, 0xc
mov eax, dword [esp + 0x10]
mov ecx, dword [esp]
mov word [ecx + 0x10e], ax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], 0
mov eax, dword [esp + 0x2c]
movsd xmm0, qword [esp + 0x24]
movsd xmm1, qword [esp + 0x78]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x80]
movsd qword [esp + 0x34], xmm0
movsd qword [esp + 0x40], xmm1
movsd qword [esp + 0x50], xmm0
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x1c]
movsd xmm0, qword [esp + 0x44]
movsd xmm1, qword [esp + 0x3c]
movsd qword [esp + 0x60], xmm0
movsd qword [esp + 0x58], xmm1
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], 0
lea edi, [ebx + ebx*2]
mov esi, dword [esp + eax + 0x50]
movzx edx, word [esi + 0x10e]
lea ebp, [esi + edi*4 + 4]
movzx eax, dx
sub eax, ebx
jbe 0x100cbcef
shl ebx, 2
shl eax, 2
mov dword [esp + 0x10], edi
lea ecx, [esi + 4]
lea ebx, [ebx + ebx*2]
lea edi, [eax + eax*2]
lea ecx, [ecx + ebx + 0xc]
push edi
push ebp
push ecx
mov dword [esp + 0x14], edx
call fcn.10100490
add esp, 0xc
mov ecx, dword [esp + 0xac]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
lea ecx, [esi + ebx + 0x94]
mov dword [esp + 0x3c], eax
movsd qword [esp + 0x34], xmm0
lea eax, [esi + ebx + 0x88]
push edi
mov edi, dword [esp + 0x14]
push eax
push ecx
call fcn.10100490
mov edx, dword [esp + 0x14]
add esp, 0xc
jmp 0x100cbd07
mov ecx, dword [esp + 0xac]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
mov dword [esp + 0x3c], eax
movsd qword [esp + 0x34], xmm0
mov eax, dword [esp + 4]
inc edx
mov ebx, dword [esp + 0x20]
mov dword [ebp], eax
mov eax, dword [esp + 0xc]
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x18]
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esi + edi*4 + 0x90], eax
movsd xmm0, qword [esp + 0x34]
movsd qword [esi + edi*4 + 0x88], xmm0
mov word [esi + 0x10e], dx
mov ebp, dword [esp + 0x50]
movsd xmm0, qword [esp + 0x5c]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
cmp ebp, 0x80000000
movsd qword [esp + 0x88], xmm0
mov dword [esp + 0x90], eax
je 0x100cc1cd
mov eax, dword [esp + 0x90]
movsd xmm0, qword [esp + 0x88]
mov esi, dword [esp]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x2c], eax
movsd qword [esp + 0x24], xmm0
mov edi, dword [esi]
test edi, edi
je 0x100cc116
xor eax, eax
xor esi, esi
cmp eax, esi
mov dword [esp + 0x18], ebp
jne 0x100cc330
mov ecx, dword [esp]
movzx ebp, word [edi + 0x10e]
mov dword [esp + 4], edx
movzx ecx, word [ecx + 0x10c]
cmp ebp, 0xb
movzx esi, cx
jb 0x100cc1d9
inc eax
cmp cx, 5
jae 0x100cbdec
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 4
jmp 0x100cbead
je 0x100cbe98
movzx ecx, cx
cmp ecx, 6
jne 0x100cc07c
lea ecx, [esp + 0x50]
lea edx, [esp + 0x34]
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 5
call fcn.100d7430
mov edi, dword [esp + 0x70]
movzx esi, word [edi + 0x10e]
test esi, esi
je 0x100cc099
lea ebx, [esi*4]
lea eax, [edi + 4]
lea ecx, [edi + 0x10]
lea ebp, [ebx + ebx*2]
push ebp
push eax
push ecx
call fcn.10100490
add esp, 0xc
lea eax, [edi + 0x88]
lea ecx, [edi + 0x94]
push ebp
push eax
push ecx
call fcn.10100490
add esp, 0xc
movsd xmm0, qword [esp + 0x24]
lea ecx, [edi + 0x118]
movsd qword [edi + 0x88], xmm0
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x90], eax
lea eax, [edi + 0x114]
push ebx
mov ebx, dword [esp + 0x24]
push eax
push ecx
call fcn.10100490
add esp, 0xc
jmp 0x100cc0b1
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 5
mov esi, 5
mov edi, 0x18
lea ecx, [esp + 0x50]
lea edx, [esp + 0x34]
call fcn.100d7430
mov edi, dword [esp + edi + 0x50]
lea edx, [esi + esi*2]
lea ecx, [esi + 1]
movzx ebp, word [edi + 0x10e]
lea ebx, [edi + edx*4 + 4]
mov eax, ebp
sub eax, esi
jbe 0x100cbf97
mov dword [esp], eax
lea eax, [edi + 4]
mov dword [esp + 0x10], ecx
lea ecx, [ecx*4]
mov dword [esp + 8], eax
lea eax, [ecx + ecx*2]
mov ecx, dword [esp]
add dword [esp + 8], eax
mov dword [esp + 0x1c], eax
shl ecx, 2
lea eax, [ecx + ecx*2]
mov dword [esp], ecx
mov dword [esp + 0x30], eax
push eax
push ebx
push dword [esp + 0x10]
mov dword [esp + 0x14], edx
call fcn.10100490
add esp, 0xc
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [ebx], eax
mov eax, dword [esp + 0xc]
lea ecx, [edi + ecx + 0x88]
mov dword [ebx + 8], eax
mov eax, dword [esp + 4]
mov dword [ebx + 4], eax
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x10]
lea eax, [edi + eax*4 + 0x88]
push dword [esp + 0x30]
push eax
push ecx
call fcn.10100490
add esp, 0xc
movsd xmm0, qword [esp + 0x24]
mov ecx, dword [esp + 8]
movsd qword [edi + ecx*4 + 0x88], xmm0
mov eax, dword [esp + 0x2c]
mov dword [edi + ecx*4 + 0x90], eax
lea eax, [edi + ebx*4 + 0x110]
lea ecx, [edi + esi*4 + 0x118]
push dword [esp]
push eax
push ecx
call fcn.10100490
add esp, 0xc
jmp 0x100cbfc7
mov eax, dword [esp + 0x18]
mov dword [ebx], eax
mov eax, dword [esp + 4]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0xc]
mov dword [ebx + 8], eax
mov ebx, ecx
mov eax, dword [esp + 0x2c]
mov dword [edi + edx*4 + 0x90], eax
movsd xmm0, qword [esp + 0x24]
movsd qword [edi + edx*4 + 0x88], xmm0
lea ecx, [ebp + 2]
mov edx, dword [esp + 0x14]
lea eax, [ebp + 1]
cmp ebx, ecx
mov ebx, dword [esp + 0x20]
mov dword [edi + esi*4 + 0x114], edx
mov word [edi + 0x10e], ax
jae 0x100cc008
dec esi
nop dword [eax + eax]
mov eax, dword [edi + esi*4 + 0x118]
lea ecx, [esi + 2]
inc esi
cmp ebp, esi
mov dword [eax], edi
mov word [eax + 0x10c], cx
jne 0x100cbff0
lea eax, [esp + 0x5c]
mov ebp, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x70]
movsd xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x68]
movsd qword [esp + 0x78], xmm0
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x74]
cmp ebp, 0x80000000
je 0x100cc1cd
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x80]
movsd xmm0, qword [esp + 0x78]
mov dword [esp + 0x14], edi
mov edi, dword [esp]
mov dword [esp + 0x2c], ecx
movsd qword [esp + 0x24], xmm0
mov edi, dword [edi]
test edi, edi
jne 0x100cbda3
jmp 0x100cc118
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], eax
add esi, 0xfffffff9
mov dword [esp + 0x3c], 6
mov edi, 0x20
jmp 0x100cbeb2
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x90], eax
movsd xmm0, qword [esp + 0x24]
movsd qword [edi + 0x88], xmm0
mov ecx, dword [esp + 0x18]
lea eax, [esi + 1]
shl esi, 2
mov dword [edi + 4], ecx
mov ecx, dword [esp + 4]
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0xc]
mov dword [edi + 0xc], ecx
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x114], ecx
mov word [edi + 0x10e], ax
mov ecx, 1
mov eax, 0xfffffffc
mov edx, dword [edi + eax + 0x118]
add eax, 4
cmp esi, eax
mov dword [edx], edi
mov word [edx + 0x10c], cx
lea ecx, [ecx + 1]
jne 0x100cc0e7
lea eax, [esp + 0x5c]
mov ebp, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
jmp 0x100cc01c
xor esi, esi
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x4c]
mov dword [esp + 4], edx
mov edi, dword [ebp]
test edi, edi
je 0x100cc367
mov ebx, dword [ebp + 4]
movzx eax, byte [0x10199148]
xor ecx, ecx
mov edx, 0x140
call fcn.100ea7d0
test eax, eax
je 0x100cc371
lea ecx, [ebx + 1]
mov dword [eax], 0
mov word [eax + 0x10e], 0
mov dword [eax + 0x110], edi
mov dword [edi], eax
mov word [edi + 0x10c], 0
mov dword [ebp], eax
cmp ebx, esi
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 4]
jne 0x100cc380
mov edx, dword [esp + 0x18]
mov word [eax + 0x10e], 1
mov ebx, dword [esp + 0x20]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov dword [eax + 0xc], ecx
movsd xmm0, qword [esp + 0x24]
movsd qword [eax + 0x88], xmm0
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x90], ecx
mov dword [eax + 0x114], edx
mov dword [edx], eax
mov word [edx + 0x10c], 1
mov eax, dword [esp + 0x4c]
inc dword [eax + 8]
jmp 0x100cb9bb
lea ebx, [esi + 1]
cmp cx, bp
lea ecx, [esi + esi*2]
lea eax, [ebp + 1]
mov dword [esp], ebx
lea ebx, [edi + ecx*4 + 4]
mov dword [esp + 8], eax
jae 0x100cc2b4
lea eax, [edi + 4]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp]
lea ecx, [eax*4]
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x30], eax
add ecx, eax
mov eax, ebp
sub eax, esi
shl eax, 2
mov dword [esp + 0x1c], eax
lea eax, [eax + eax*2]
mov dword [esp + 0x84], eax
push eax
push ebx
push ecx
call fcn.10100490
add esp, 0xc
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
lea eax, [edi + eax*4 + 0x88]
lea ecx, [edi + ecx + 0x88]
push dword [esp + 0x84]
push eax
push ecx
call fcn.10100490
add esp, 0xc
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov dword [ebx], eax
mov eax, dword [esp + 0xc]
mov dword [ebx + 8], eax
mov eax, dword [esp + 4]
mov dword [ebx + 4], eax
mov ebx, dword [esp]
movsd xmm0, qword [esp + 0x24]
movsd qword [edi + ecx*4 + 0x88], xmm0
mov eax, dword [esp + 0x2c]
mov dword [edi + ecx*4 + 0x90], eax
lea eax, [edi + ebx*4 + 0x110]
lea ecx, [edi + esi*4 + 0x118]
push dword [esp + 0x1c]
push eax
push ecx
call fcn.10100490
add esp, 0xc
mov edx, ebx
jmp 0x100cc2e1
mov eax, dword [esp + 0x18]
mov dword [ebx], eax
mov eax, dword [esp + 0xc]
mov dword [ebx + 4], edx
mov edx, dword [esp]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [edi + ecx*4 + 0x90], eax
movsd xmm0, qword [esp + 0x24]
movsd qword [edi + ecx*4 + 0x88], xmm0
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
lea eax, [ebp + 2]
cmp edx, eax
mov dword [edi + esi*4 + 0x114], ecx
mov ecx, dword [esp + 8]
mov word [edi + 0x10e], cx
jae 0x100cc1cd
inc ebp
mov eax, dword [edi + esi*4 + 0x114]
inc esi
cmp ebp, esi
mov dword [eax], edi
mov word [eax + 0x10c], si
jne 0x100cc307
jmp 0x100cc1cd
mov ecx, 4
mov edx, 0x110
call fcn.1010cb80
mov ecx, str.assertion_failed:_edge.height__self.node.height___1
mov edx, 0x35
push 0x1018ae80
call fcn.1010d0a0
mov edx, 0xb
push 0x1018ae28
call fcn.1010d040
mov ecx, str.assertion_failed:_src.len____dst.len__
mov edx, 0x28
push 0x1018ae18
call fcn.1010d0a0
mov ecx, 0x1018acb8
call fcn.1010d3b0
mov ecx, 4
mov edx, 0x140
call fcn.1010cb80
mov ecx, 0x1018ad23
mov edx, 0x30
push 0x1018ad54
call fcn.1010d0a0
int3