Function at 0xc8fa90
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 0xc8fb34
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], 0x157a
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 0xc8fb58
cmp dword [esp + 0x78], 0x10
jb 0xc8fb58
mov eax, dword [esp + 0x64]
push eax
call fcn.00cd8a36
add esp, 4
lea ebx, [esi + 0x24]
lea esi, [edi + 0x24]
call fcn.00c974e0
mov eax, dword [esp + 0x30]
cmp byte [eax + 0x48], 0
je 0xc8fbbc
mov edx, 1
test byte [eax + 0x48], dl
je 0xc8fb80
mov ecx, dword [eax + 0x18]
or dword [edi + 0x48], edx
mov dword [edi + 0x18], ecx
mov ecx, dword [eax + 0x48]
shr ecx, 1
test dl, cl
je 0xc8fb93
mov cl, byte [eax + 0x1c]
or dword [edi + 0x48], 2
mov byte [edi + 0x1c], cl
mov ecx, dword [eax + 0x48]
shr ecx, 2
test dl, cl
je 0xc8fba7
mov cl, byte [eax + 0x1d]
or dword [edi + 0x48], 4
mov byte [edi + 0x1d], cl
mov ecx, dword [eax + 0x48]
shr ecx, 3
test dl, cl
je 0xc8fbbc
mov eax, dword [eax + 0x20]
push eax
mov esi, edi
call fcn.00c81650
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 0xc900eb
lea esp, [esp]
cmp byte [edi + 0x21], 0
je 0xc8ff3c
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 0xc90121
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 0xc8fc3c
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 0xc8fc67
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.0xc8ff5d
jmp dword [ecx*4 + 0xc90144]
test al, al
je 0xc8fcaf
push 0x1c
call fcn.00cd8a50
add esp, 4
test eax, eax
je 0xc8fcaa
lea ecx, [eax + 0xc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [eax + 8], 4
jmp 0xc8fcac
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.0xc8ff5d
test al, al
je 0xc8fcef
push 0x30
call fcn.00cd8a50
add esp, 4
test eax, eax
je 0xc8fcea
lea edx, [eax + 0x10]
mov dword [eax], edx
mov dword [eax + 4], 0
mov dword [eax + 8], 4
jmp 0xc8fcec
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.0xc8ff5d
test al, al
je 0xc8fd2f
push 0x1c
call fcn.00cd8a50
add esp, 4
test eax, eax
je 0xc8fd2a
lea ecx, [eax + 0xc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [eax + 8], 4
jmp 0xc8fd2c
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.0xc8ff5d
test al, al
je 0xc8fd6f
push 0x30
call fcn.00cd8a50
add esp, 4
test eax, eax
je 0xc8fd6a
lea edx, [eax + 0x10]
mov dword [eax], edx
mov dword [eax + 4], 0
mov dword [eax + 8], 4
jmp 0xc8fd6c
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.0xc8ff5d
test al, al
je 0xc8fdaf
push 0x1c
call fcn.00cd8a50
add esp, 4
test eax, eax
je 0xc8fdaa
lea ecx, [eax + 0xc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [eax + 8], 4
jmp 0xc8fdac
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.0xc8ff5d
test al, al
je 0xc8fdef
push 0x30
call fcn.00cd8a50
add esp, 4
test eax, eax
je 0xc8fdea
lea edx, [eax + 0x10]
mov dword [eax], edx
mov dword [eax + 4], 0
mov dword [eax + 8], 4
jmp 0xc8fdec
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.0xc8ff5d
test al, al
je 0xc8fe2f
push 0x10
call fcn.00cd8a50
add esp, 4
test eax, eax
je 0xc8fe2a
lea ecx, [eax + 0xc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [eax + 8], 4
jmp 0xc8fe2c
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.0xc8ff5d
xor esi, esi
test al, al
je 0xc8fe82
push 0x20
call fcn.00cd8a50
add esp, 4
cmp eax, esi
je 0xc8fe7d
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.0xc8ff5d
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.0xc8ff5d
xor esi, esi
test al, al
je 0xc8fec0
push 0x20
call fcn.00cd8a50
add esp, 4
cmp eax, esi
je 0xc8febb
lea ecx, [eax + 0x10]
mov dword [eax], ecx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], 4
jmp 0xc8febd
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.0xc8ff5d
jmp 0xc8feda
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 0xc8fefd
mov edx, dword [eax]
mov edx, dword [edx + ecx*4]
inc ecx
mov dword [eax + 4], ecx
mov ecx, edx
test edx, edx
jne 0xc8ff1d
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 esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
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 0xc8fed6
jmp case.default.0xc8ff5d
cmp byte [edi + 0x22], 0
jne case.default.0xc8ff5d
mov al, byte [edi + 0x20]
movzx edx, al
mov ecx, dword [edx*4 + 0xd64008]
dec ecx
cmp ecx, 9
ja case.default.0xc8ff5d
jmp dword [ecx*4 + 0xc9016c]
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.0xc8ff5d
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.0xc8ff5d
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.0xc8ff5d
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.0xc8ff5d
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.0xc8ff5d
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.0xc8ff5d
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.0xc8ff5d
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.0xc8ff5d
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.0xc8ff5d
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 0xc900de
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x31], 0
jne 0xc900b0
mov eax, dword [ecx]
cmp byte [eax + 0x31], 0
jne 0xc900aa
nop
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x31], 0
je 0xc900a0
mov dword [esp + 0x24], ecx
jmp 0xc900da
mov eax, dword [edi + 4]
cmp byte [eax + 0x31], 0
jne 0xc900d6
jmp 0xc900c4
mov edi, dword [esp + 0x24]
cmp edi, dword [eax + 8]
jne 0xc900d6
mov dword [esp + 0x24], eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x31], 0
je 0xc900c0
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
cmp edi, dword [eax + 8]
jne 0xc8fbe0
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]
cmp esp, 0xffffffc8
add bl, al
cld
enter 0x300, 0xfffffffffffffffd
enter 0x4300, 0xfffffffffffffffd
enter 0xffffffffffffc300, 0xfffffffffffffffd
enter 0xffffffffffff8300, 0xfffffffffffffffd
enter 0x300, 0xfffffffffffffffe
enter 0xffffffffffff8300, 0xfffffffffffffffc
enter 0x4300, 0xfffffffffffffffe
enter 0xffffffffffff9300, 0xfffffffffffffffe
enter 0x6400, 0xffffffffffffffff
enter 0x7e00, 0xffffffffffffffff
enter 0xffffffffffff9c00, 0xffffffffffffffff
enter 0xffffffffffffb600, 0xffffffffffffffff
enter 0xfffffffffffff100, 0xffffffffffffffff
enter 0xffffffffffffd400, 0xffffffffffffffff
enter 0xd00, 0
leave
add byte [0x3c00c900], ah
add cl, cl
add byte [esi], ah
leave
add ah, cl
int3