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

Disassembly:
push 0xffffffffffffffff
push 0xc8123a
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push ebp
push esi
push edi
mov eax, dword [0xcf16ec]
xor eax, esp
push eax
lea eax, [esp + 0x5c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x74]
xor ecx, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x64], ecx
mov edi, dword [eax]
mov ebx, dword [eax + 4]
cmp edi, ebx
je 0xb1d6e3
mov ebp, dword [esp + 0x6c]
add ebp, 0x1c
mov ecx, dword [ebp + 4]
mov eax, dword [ecx + 4]
cmp byte [eax + 0x15], 0
mov esi, dword [edi]
mov dword [esp + 0x74], esi
jne 0xb1d637
cmp dword [eax + 0xc], esi
jae 0xb1d62d
mov eax, dword [eax + 8]
jmp 0xb1d631
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0x15], 0
je 0xb1d623
mov eax, dword [ebp + 4]
mov dword [esp + 0x18], ecx
cmp ecx, eax
je 0xb1d64d
cmp esi, dword [ecx + 0xc]
jb 0xb1d64d
lea eax, [esp + 0x18]
jmp 0xb1d655
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x6c]
cmp eax, dword [ecx + 0x20]
je 0xb1d6d8
mov edx, dword [esp + 0x70]
cmp dword [eax + 0x10], edx
jne 0xb1d6d8
push eax
lea eax, [esp + 0x24]
push eax
push ebp
call fcn.00b7a460
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x74]
cmp ecx, eax
jae 0xb1d6b4
mov edx, ecx
mov ecx, dword [esp + 0x38]
cmp ecx, edx
ja 0xb1d6b4
mov esi, edx
sub esi, ecx
sar esi, 2
cmp eax, dword [esp + 0x40]
jne 0xb1d6a9
lea eax, [esp + 0x38]
call fcn.00b8e360
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
test eax, eax
je 0xb1d6d1
mov ecx, dword [ecx + esi*4]
mov dword [eax], ecx
jmp 0xb1d6cd
cmp eax, dword [esp + 0x40]
jne 0xb1d6c7
lea eax, [esp + 0x38]
call fcn.00b8e360
mov eax, dword [esp + 0x3c]
test eax, eax
je 0xb1d6d1
mov dword [eax], esi
mov eax, dword [esp + 0x3c]
add eax, 4
mov dword [esp + 0x3c], eax
add edi, 4
cmp edi, ebx
jne 0xb1d611
xor esi, esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov byte [esp + 0x64], 1
push 0x24
mov dword [esp + 0x54], esi
call fcn.00c18a50
add esp, 4
cmp eax, esi
je 0xb1daaa
mov dword [esp + 0x4c], eax
mov dword [eax], eax
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [eax + 8], eax
mov edx, dword [esp + 0x4c]
mov byte [edx + 0x20], 1
mov eax, dword [esp + 0x4c]
mov byte [eax + 0x21], 1
mov byte [esp + 0x64], 3
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x18], eax
cmp ecx, eax
je 0xb1d963
mov ecx, dword [esp + 0x74]
mov ebp, dword [ecx]
mov esi, dword [esp + 0x70]
push esi
push ebp
push ebx
mov dword [esp + 0x78], ebp
call fcn.00b1d010
mov edi, eax
mov dword [esp + 0x1c], edi
test edi, edi
je 0xb1d85c
lea esi, [ebx + 0x1c]
lea edx, [esp + 0x6c]
call fcn.00b1acc0
lea edx, [esp + 0x48]
push edx
lea edx, [esp + 0x20]
mov dword [eax], edi
call fcn.00b1e290
mov esi, eax
mov eax, dword [esi + 4]
lea ecx, [esp + 0x6c]
cmp ecx, eax
jae 0xb1d806
mov edx, dword [esi]
cmp edx, ecx
ja 0xb1d806
mov edi, ecx
mov ecx, dword [esi + 8]
sub edi, edx
sar edi, 2
cmp eax, ecx
jne 0xb1d7ed
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0xb1d9bc
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0xb1d7ed
mov edx, ecx
shr edx, 1
mov ebp, 0x3fffffff
sub ebp, edx
cmp ebp, ecx
jae 0xb1d7df
xor ecx, ecx
jmp 0xb1d7e1
add ecx, edx
cmp ecx, eax
jae 0xb1d7e7
mov ecx, eax
push ecx
call fcn.00ba4c90
mov eax, dword [esi + 4]
mov edx, dword [esi]
lea ecx, [edx + edi*4]
test eax, eax
je 0xb1d7fd
mov ecx, dword [ecx]
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0xb1d946
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0xb1d84a
mov edx, dword [esi]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0xb1d9bc
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0xb1d84a
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0xb1d83c
xor ecx, ecx
jmp 0xb1d83e
add ecx, edx
cmp ecx, eax
jae 0xb1d844
mov ecx, eax
push ecx
call fcn.00ba4c90
mov eax, dword [esi + 4]
test eax, eax
je 0xb1d853
mov dword [eax], ebp
add dword [esi + 4], 4
jmp 0xb1d946
push esi
push ebp
mov eax, ebx
call fcn.00b1dc30
test al, al
je 0xb1d946
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x6c]
cmp eax, edx
jae 0xb1d8e6
cmp ecx, eax
ja 0xb1d8e6
mov esi, dword [esp + 0x30]
mov edi, eax
sub edi, ecx
sar edi, 2
cmp edx, esi
jne 0xb1d8db
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0xb1d9bc
sub esi, ecx
inc eax
sar esi, 2
cmp eax, esi
jbe 0xb1d8db
mov ecx, esi
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0xb1d8c1
xor ecx, ecx
jmp 0xb1d8c3
add ecx, edx
cmp ecx, eax
jae 0xb1d8c9
mov ecx, eax
push ecx
lea esi, [esp + 0x2c]
call fcn.00ba4c90
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
test edx, edx
je 0xb1d93f
mov ecx, dword [ecx + edi*4]
mov dword [edx], ecx
jmp 0xb1d93b
mov esi, dword [esp + 0x30]
cmp edx, esi
jne 0xb1d935
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0xb1d9bc
sub esi, ecx
mov ecx, esi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0xb1d935
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0xb1d91f
xor ecx, ecx
jmp 0xb1d921
add ecx, edx
cmp ecx, eax
jae 0xb1d927
mov ecx, eax
push ecx
lea esi, [esp + 0x2c]
call fcn.00ba4c90
mov edx, dword [esp + 0x2c]
test edx, edx
je 0xb1d93f
mov dword [edx], ebp
mov edx, dword [esp + 0x2c]
add edx, 4
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x74]
add eax, 4
mov dword [esp + 0x74], eax
cmp eax, dword [esp + 0x18]
jne 0xb1d751
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
sub eax, ecx
test eax, 0xfffffffc
je 0xb1da2b
mov eax, dword [esp + 0x4c]
mov esi, dword [eax]
mov edi, eax
cmp esi, eax
je 0xb1d9e6
lea esp, [esp]
mov ecx, dword [ebx + 8]
mov edx, dword [ecx]
mov edx, dword [edx]
lea eax, [esi + 0x10]
push eax
mov eax, dword [esi + 0xc]
push eax
push ebx
call edx
cmp byte [esi + 0x21], 0
jne 0xb1d9e2
mov eax, dword [esi + 8]
cmp byte [eax + 0x21], 0
jne 0xb1d9c6
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x21], 0
jne 0xb1d9e2
jmp 0xb1d9b0
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x21], 0
je 0xb1d9b0
jmp 0xb1d9e2
push 0xca88f8
call fcn.00c179c1
mov eax, dword [esi + 4]
cmp byte [eax + 0x21], 0
jne 0xb1d9e0
nop
cmp esi, dword [eax + 8]
jne 0xb1d9e0
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x21], 0
je 0xb1d9d0
mov esi, eax
cmp esi, edi
jne 0xb1d980
mov ecx, dword [ebx + 8]
mov esi, dword [esp + 0x70]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
lea edx, [esp + 0x38]
push edx
push esi
push ebx
call eax
mov ecx, dword [ebx + 8]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x38]
push eax
push ebx
call edx
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x28]
test eax, 0xfffffffc
je 0xb1da2b
mov ecx, dword [ebx + 8]
mov edx, dword [ecx]
mov edx, dword [edx + 0x14]
push esi
lea eax, [esp + 0x2c]
push eax
push ebx
call edx
mov byte [esp + 0x64], 4
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [esp + 0x74]
lea esi, [esp + 0x50]
call fcn.00b1e620
mov byte [esp + 0x64], 1
mov eax, dword [esp + 0x4c]
push eax
call fcn.00c18a36
mov byte [esp + 0x68], 0
mov eax, dword [esp + 0x2c]
xor esi, esi
add esp, 4
cmp eax, esi
je 0xb1da6f
push eax
call fcn.00c18a36
add esp, 4
mov dword [esp + 0x64], 0xffffffff
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
cmp eax, esi
je 0xb1da94
push eax
call fcn.00c18a36
add esp, 4
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 0xc
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], vtable.stdext::bad_alloc.0
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], 2
call fcn.00ad4df0
int3