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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0xd4cc97
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [str._Sk]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
push esi
push edi
mov eax, dword [str._Sk]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov edi, ecx
mov esi, edx
xor ebx, ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], ebx
cmp esi, edi
jne 0xc8d2e4
mov dword [esp + 0x58], 3
mov dword [esp + 0x5c], str.p:p_agentshpam2.eem_recipes201152726_base_branchesinputtools_win_release_branchgoogleclient_third_partyprotobuf_files_srcgoogleprotobufdescriptor.pb.cc
mov dword [esp + 0x60], 0x128a
mov dword [esp + 0x78], 0xf
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
mov dword [esp + 0xc0], ebx
push 0x21
mov ebx, 1
push str.CHECK_failed:__from_____this_:
lea ecx, [esp + 0x6c]
mov dword [esp + 0x34], ebx
call fcn.00b978a0
lea ecx, [esp + 0x58]
call fcn.00c51620
mov dword [esp + 0xc0], 0xffffffff
test bl, 1
je 0xc8d308
cmp dword [esp + 0x78], 0x10
jb 0xc8d308
mov eax, dword [esp + 0x64]
push eax
call fcn.00cd8a36
add esp, 4
lea ebx, [esi + 0x28]
lea esi, [edi + 0x28]
call fcn.00c974e0
mov ebx, dword [esp + 0x30]
cmp byte [ebx + 0x50], 0
je 0xc8d3c6
test byte [ebx + 0x50], 1
je 0xc8d332
mov eax, dword [ebx + 0x18]
push eax
mov esi, edi
call fcn.00c81550
mov ecx, dword [ebx + 0x50]
shr ecx, 1
test cl, 1
je 0xc8d347
mov eax, dword [ebx + 0x1c]
push eax
mov esi, edi
call fcn.00c815d0
mov edx, dword [ebx + 0x50]
shr edx, 2
test dl, 1
je 0xc8d35c
mov al, byte [ebx + 0x24]
or dword [edi + 0x50], 4
mov byte [edi + 0x24], al
mov eax, dword [ebx + 0x50]
shr eax, 3
test al, 1
je 0xc8d370
mov al, byte [ebx + 0x25]
or dword [edi + 0x50], 8
mov byte [edi + 0x25], al
mov ecx, dword [ebx + 0x50]
shr ecx, 4
test cl, 1
je 0xc8d385
mov eax, dword [ebx + 0x20]
or dword [edi + 0x50], 0x10
mov dword [edi + 0x20], eax
mov edx, dword [ebx + 0x50]
shr edx, 5
test dl, 1
je 0xc8d39a
mov al, byte [ebx + 0x26]
or dword [edi + 0x50], 0x20
mov byte [edi + 0x26], al
mov eax, dword [ebx + 0x50]
shr eax, 6
test al, 1
je 0xc8d3ae
mov al, byte [ebx + 0x27]
or dword [edi + 0x50], 0x40
mov byte [edi + 0x27], al
mov ecx, dword [ebx + 0x50]
shr ecx, 7
test cl, 1
je 0xc8d3c6
mov bl, byte [ebx + 0x48]
or dword [edi + 0x50], 0x80
mov byte [edi + 0x48], bl
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 8]
mov edx, dword [esp + 0x40]
mov edi, dword [eax]
add edx, 4
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], edi
cmp edi, eax
je 0xc8d8fb
cmp byte [edi + 0x21], 0
je 0xc8d746
mov ecx, dword [edi + 0x24]
mov ebx, dword [edi + 0x10]
push 0x38
mov dword [esp + 0x30], ecx
xor esi, esi
call fcn.00cd8a50
add esp, 4
test eax, eax
je 0xc8d931
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 4]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 8], ecx
lea ecx, [eax + 0x10]
mov word [eax + 0x30], si
test ecx, ecx
je 0xc8d442
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], esi
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x18], esi
mov dword [ecx], ebx
mov dword [ecx + 0x1c], esi
mov ebx, dword [esp + 0x28]
push eax
lea esi, [esp + 0x4c]
call fcn.00c73750
mov al, byte [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
mov dword [ebx + 0x24], edx
test al, al
je 0xc8d46d
mov cl, byte [edi + 0x20]
mov byte [ebx + 0x20], cl
mov byte [ebx + 0x21], 1
movzx edx, byte [edi + 0x20]
mov ecx, dword [edx*4 + 0xd64008]
dec ecx
cmp ecx, 9
ja case.default.0xc8d767
jmp dword [ecx*4 + 0xc8d954]
test al, al
je 0xc8d4b5
push 0x1c
call fcn.00cd8a50
add esp, 4
test eax, eax
je 0xc8d4b0
lea ecx, [eax + 0xc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [eax + 8], 4
jmp 0xc8d4b2
xor eax, eax
mov dword [ebx + 0x18], eax
mov edi, dword [edi + 0x18]
mov esi, dword [ebx + 0x18]
call fcn.00c73710
mov edi, dword [esp + 0x24]
jmp case.default.0xc8d767
test al, al
je 0xc8d4f5
push 0x30
call fcn.00cd8a50
add esp, 4
test eax, eax
je 0xc8d4f0
lea edx, [eax + 0x10]
mov dword [eax], edx
mov dword [eax + 4], 0
mov dword [eax + 8], 4
jmp 0xc8d4f2
xor eax, eax
mov dword [ebx + 0x18], eax
mov edi, dword [edi + 0x18]
mov esi, dword [ebx + 0x18]
call fcn.00c736d0
mov edi, dword [esp + 0x24]
jmp case.default.0xc8d767
test al, al
je 0xc8d535
push 0x1c
call fcn.00cd8a50
add esp, 4
test eax, eax
je 0xc8d530
lea ecx, [eax + 0xc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [eax + 8], 4
jmp 0xc8d532
xor eax, eax
mov dword [ebx + 0x18], eax
mov edi, dword [edi + 0x18]
mov esi, dword [ebx + 0x18]
call fcn.00c73710
mov edi, dword [esp + 0x24]
jmp case.default.0xc8d767
test al, al
je 0xc8d575
push 0x30
call fcn.00cd8a50
add esp, 4
test eax, eax
je 0xc8d570
lea edx, [eax + 0x10]
mov dword [eax], edx
mov dword [eax + 4], 0
mov dword [eax + 8], 4
jmp 0xc8d572
xor eax, eax
mov dword [ebx + 0x18], eax
mov edi, dword [edi + 0x18]
mov esi, dword [ebx + 0x18]
call fcn.00c736d0
mov edi, dword [esp + 0x24]
jmp case.default.0xc8d767
test al, al
je 0xc8d5b5
push 0x1c
call fcn.00cd8a50
add esp, 4
test eax, eax
je 0xc8d5b0
lea ecx, [eax + 0xc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [eax + 8], 4
jmp 0xc8d5b2
xor eax, eax
mov dword [ebx + 0x18], eax
mov edi, dword [edi + 0x18]
mov esi, dword [ebx + 0x18]
call fcn.00c73710
mov edi, dword [esp + 0x24]
jmp case.default.0xc8d767
test al, al
je 0xc8d5f5
push 0x30
call fcn.00cd8a50
add esp, 4
test eax, eax
je 0xc8d5f0
lea edx, [eax + 0x10]
mov dword [eax], edx
mov dword [eax + 4], 0
mov dword [eax + 8], 4
jmp 0xc8d5f2
xor eax, eax
mov dword [ebx + 0x18], eax
mov edi, dword [edi + 0x18]
mov esi, dword [ebx + 0x18]
call fcn.00c736d0
mov edi, dword [esp + 0x24]
jmp case.default.0xc8d767
test al, al
je 0xc8d635
push 0x10
call fcn.00cd8a50
add esp, 4
test eax, eax
je 0xc8d630
lea ecx, [eax + 0xc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [eax + 8], 4
jmp 0xc8d632
xor eax, eax
mov dword [ebx + 0x18], eax
mov edx, dword [esp + 0x48]
mov ebx, dword [edi + 0x18]
mov esi, dword [edx + 0x18]
call fcn.00bc6120
jmp case.default.0xc8d767
xor esi, esi
test al, al
je 0xc8d688
push 0x20
call fcn.00cd8a50
add esp, 4
cmp eax, esi
je 0xc8d683
lea edx, [eax + 0x10]
mov dword [eax], edx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], 4
mov dword [ebx + 0x18], eax
mov eax, dword [edi + 0x18]
mov esi, dword [ebx + 0x18]
push eax
call fcn.00bc72c0
jmp case.default.0xc8d767
xor eax, eax
mov dword [ebx + 0x18], eax
mov eax, dword [edi + 0x18]
mov esi, dword [ebx + 0x18]
push eax
call fcn.00bc72c0
jmp case.default.0xc8d767
xor esi, esi
test al, al
je 0xc8d6c6
push 0x20
call fcn.00cd8a50
add esp, 4
cmp eax, esi
je 0xc8d6c1
lea ecx, [eax + 0x10]
mov dword [eax], ecx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], 4
jmp 0xc8d6c3
xor eax, eax
mov dword [ebx + 0x18], eax
mov eax, dword [edi + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], esi
cmp dword [eax + 4], esi
jle case.default.0xc8d767
jmp 0xc8d6e4
mov eax, dword [esp + 0x2c]
mov edx, dword [eax]
mov eax, dword [edx + esi*4]
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
jge 0xc8d707
mov edx, dword [eax]
mov edx, dword [edx + ecx*4]
inc ecx
mov dword [eax + 4], ecx
mov ecx, edx
test edx, edx
jne 0xc8d727
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
mov esi, dword [ebx + 0x18]
push eax
mov dword [esp + 0x40], eax
call fcn.00c6d3b0
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x34]
mov eax, dword [ecx]
mov edx, dword [esp + 0x38]
mov eax, dword [eax + 0x18]
push edx
call eax
mov ecx, dword [esp + 0x2c]
inc esi
mov dword [esp + 0x34], esi
cmp esi, dword [ecx + 4]
jl 0xc8d6e0
jmp case.default.0xc8d767
cmp byte [edi + 0x22], 0
jne case.default.0xc8d767
mov al, byte [edi + 0x20]
movzx edx, al
mov ecx, dword [edx*4 + 0xd64008]
dec ecx
cmp ecx, 9
ja case.default.0xc8d767
jmp dword [ecx*4 + 0xc8d97c]
mov ecx, dword [edi + 0x24]
mov edx, dword [edi + 0x18]
push ecx
mov ecx, dword [edi + 0x10]
push edx
mov edx, dword [esp + 0x30]
push eax
call fcn.00c6e930
jmp case.default.0xc8d767
mov ecx, dword [edi + 0x24]
mov edx, dword [edi + 0x1c]
push ecx
mov ecx, dword [edi + 0x18]
push edx
mov edx, dword [esp + 0x30]
push ecx
mov ecx, dword [edi + 0x10]
push eax
call fcn.00c6f150
jmp case.default.0xc8d767
mov edx, dword [edi + 0x24]
mov ecx, dword [edi + 0x18]
push edx
mov edx, dword [esp + 0x2c]
push ecx
mov ecx, dword [edi + 0x10]
push eax
call fcn.00c6e930
jmp case.default.0xc8d767
mov edx, dword [edi + 0x24]
mov ecx, dword [edi + 0x1c]
push edx
mov edx, dword [edi + 0x18]
push ecx
mov ecx, dword [edi + 0x10]
push edx
mov edx, dword [esp + 0x34]
push eax
call fcn.00c6f150
jmp case.default.0xc8d767
mov ecx, dword [edi + 0x24]
fld dword [edi + 0x18]
mov edx, dword [esp + 0x28]
push ecx
push ecx
mov ecx, dword [edi + 0x10]
fstp dword [esp]
push eax
call fcn.00c6f540
jmp case.default.0xc8d767
fld qword [edi + 0x18]
mov edx, dword [edi + 0x24]
mov ecx, dword [edi + 0x10]
sub esp, 8
fstp qword [esp]
push edx
mov edx, dword [esp + 0x34]
push eax
call fcn.00c6f920
jmp case.default.0xc8d767
mov ecx, dword [edi + 0x24]
movzx edx, byte [edi + 0x18]
push ecx
mov ecx, dword [edi + 0x10]
push edx
mov edx, dword [esp + 0x30]
push eax
call fcn.00c6fd00
jmp case.default.0xc8d767
mov ecx, dword [edi + 0x24]
mov edx, dword [edi + 0x18]
push ecx
mov ecx, dword [edi + 0x10]
push edx
mov edx, dword [esp + 0x30]
push eax
call fcn.00c6e930
jmp case.default.0xc8d767
mov edx, dword [edi + 0x24]
mov ecx, dword [edi + 0x10]
mov esi, dword [edi + 0x18]
mov byte [esp + 0x44], al
mov eax, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x2c]
push eax
call fcn.00c70300
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.00b99870
jmp case.default.0xc8d767
mov ecx, dword [edi + 0x24]
mov edx, dword [edi + 0x18]
push ecx
mov ecx, dword [edi + 0x10]
push edx
mov edx, dword [esp + 0x30]
push eax
call fcn.00c706e0
mov ecx, dword [edi + 0x18]
mov edx, dword [eax]
mov edx, dword [edx + 0x18]
push ecx
mov ecx, eax
call edx
cmp byte [edi + 0x31], 0
jne 0xc8d8ee
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x31], 0
jne 0xc8d8c0
mov eax, dword [ecx]
cmp byte [eax + 0x31], 0
jne 0xc8d8ba
lea esp, [esp]
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x31], 0
je 0xc8d8b0
mov dword [esp + 0x24], ecx
jmp 0xc8d8ea
mov eax, dword [edi + 4]
cmp byte [eax + 0x31], 0
jne 0xc8d8e6
jmp 0xc8d8d4
mov edi, dword [esp + 0x24]
cmp edi, dword [eax + 8]
jne 0xc8d8e6
mov dword [esp + 0x24], eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x31], 0
je 0xc8d8d0
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
cmp edi, dword [eax + 8]
jne 0xc8d3e6
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
add ecx, 0x14
push ecx
add edx, 0x14
push edx
call fcn.00c79fa0
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.00cd8a41
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], vtable.stdext::bad_alloc.0
lea ecx, [esp + 0x50]
mov dword [esp + 0xc0], 2
call fcn.00b94df0
lea ecx, [ecx]
mov esp, edx
enter -14080, 0xffffffffffffffd4
enter 0x900, 0xffffffffffffffd5
enter 0x4900, 0xffffffffffffffd5
enter 0xffffffffffffc900, 0xffffffffffffffd5
enter 0xffffffffffff8900, 0xffffffffffffffd5
enter 0x900, 0xffffffffffffffd6
enter 0xffffffffffff8900, 0xffffffffffffffd4
enter 0x4900, 0xffffffffffffffd6
enter 0xffffffffffff9900, 0xffffffffffffffd6
enter 0x6e00, 0xffffffffffffffd7
enter 0xffffffffffff8800, 0xffffffffffffffd7
enter 0xffffffffffffa600, 0xffffffffffffffd7
enter 0xffffffffffffc000, 0xffffffffffffffd7
enter 0xfffffffffffffb00, 0xffffffffffffffd7
enter 0xffffffffffffde00, 0xffffffffffffffd7
enter 0x1700, 0xffffffffffffffd8
enter 0x2f00, 0xffffffffffffffd8
enter 0x4600, 0xffffffffffffffd8
enter 0x7000, 0xffffffffffffffd8
enter 0xffffffffffffcc00, 0xffffffffffffffcc
int3