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

Disassembly:
push 0xffffffffffffffff
push 0x48fa92
mov eax, dword fs:[0]
push eax
sub esp, 0x1ac
mov eax, dword [0x4ae7cc]
xor eax, esp
mov dword [esp + 0x1a8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ae7cc]
xor eax, esp
push eax
lea eax, [esp + 0x1c0]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x1e8]
mov eax, dword [esp + 0x1d0]
mov ebp, dword [esp + 0x1e0]
mov edi, dword [esp + 0x1d4]
mov esi, dword [esp + 0x1e4]
mov dword [esp + 0x58], 0
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x1ec]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x1f0]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x1f4]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x1dc]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x50], edx
xor edx, edx
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x40], esi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x54], edx
cmp byte [edi], al
je 0x4699ef
nop
cmp byte [edi + eax], 0x24
jne 0x469619
mov cl, byte [edi + eax + 1]
lea ebx, [ecx - 0x30]
cmp bl, 9
ja 0x46960c
movzx ebx, cl
mov ecx, dword [esp + ebx*4 - 0x94]
mov ecx, dword [ecx + 4]
sub ebx, 0x30
cmp ecx, 0xffffffff
je 0x469648
add ebp, ecx
inc eax
jmp 0x46961a
cmp cl, 0x24
jne 0x469865
inc ebp
inc eax
jmp 0x46961a
inc ebp
inc eax
cmp byte [edi + eax], dl
jne 0x4695e0
cmp ebp, edx
je 0x4699ef
mov esi, dword [esp + 0x24]
mov ebx, dword [esi + 0x10]
add ebp, ebx
cmp ebp, ebx
ja 0x469980
push 0xffffffffffffffff
push ebp
mov ecx, esi
call fcn.00402e70
jmp 0x469989
mov ebp, 0xf
mov eax, edi
mov dword [esp + 0x94], edx
mov byte [esp + 0x84], dl
mov dword [esp + 0x98], ebp
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x469667
sub eax, edx
push eax
push edi
lea ecx, [esp + 0x8c]
call fcn.00402d50
lea edi, [esp + 0x84]
lea esi, [esp + 0xa0]
mov dword [esp + 0x1c8], 0
call fcn.0044b4d0
mov edi, eax
mov dword [esp + 0x7c], ebp
xor ebp, ebp
mov dword [esp + 0x5c], 2
mov dword [esp + 0x60], str.p:p_agentshpam2.eem_recipes201152726_base_branchesinputtools_win_release_branchgoogleclient_third_partyprotobuf_files_srcgoogleprotobuf_stubs_substitute.cc
mov dword [esp + 0x64], 0x54
mov dword [esp + 0x78], ebp
mov byte [esp + 0x68], 0
mov eax, dword [esp + 0x14]
xor esi, esi
mov byte [esp + 0x1c8], 2
cmp eax, ebp
je 0x4696e6
cmp dword [eax + 4], 0xffffffff
je 0x4696e6
mov eax, dword [esp + esi*4 + 0x30]
inc esi
cmp eax, ebp
jne 0x4696d7
push 0x37
mov eax, str.strings::Substitute_format_string_invalid:_asked_for___
lea ecx, [esp + 0x6c]
call fcn.0040b380
push ebx
push 0x49c3e0
lea edx, [esp + 0xc4]
push 0x80
push edx
call fcn.004775ad
lea eax, [esp + 0xcc]
add esp, 0x10
mov byte [esp + 0x13b], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x469723
sub eax, edx
push eax
lea eax, [esp + 0xc0]
lea ecx, [esp + 0x6c]
call fcn.0040b380
push 0xc
mov eax, str.___but_only
lea ecx, [esp + 0x6c]
call fcn.0040b380
push esi
push 0x49c3e0
lea eax, [esp + 0x144]
push 0x80
push eax
call fcn.004775ad
lea eax, [esp + 0x14c]
add esp, 0x10
mov byte [esp + 0x1bb], 0
lea ecx, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x469780
sub eax, ecx
push eax
lea eax, [esp + 0x140]
lea ecx, [esp + 0x6c]
call fcn.0040b380
push 0x2c
mov eax, str._args_were_given.__Full_format_string_was:__
lea ecx, [esp + 0x6c]
call fcn.0040b380
push ebp
push edi
or eax, 0xffffffff
lea esi, [esp + 0x70]
call fcn.0040bc60
push 2
mov eax, 0x49d3b4
mov ecx, esi
call fcn.0040b380
lea ecx, [esp + 0x5c]
call fcn.00420b30
mov esi, 0x10
mov byte [esp + 0x1c8], 1
cmp dword [esp + 0x7c], esi
jb 0x4697ef
mov ecx, dword [esp + 0x68]
push ecx
call fcn.00475405
add esp, 4
mov edi, 0xf
mov byte [esp + 0x1c8], 0
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebp
mov byte [esp + 0x68], 0
cmp dword [esp + 0xb4], esi
jb 0x469822
mov edx, dword [esp + 0xa0]
push edx
call fcn.00475405
add esp, 4
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb0], ebp
mov dword [esp + 0x1c8], 0xffffffff
mov byte [esp + 0xa0], 0
cmp dword [esp + 0x98], esi
jb 0x4699ef
mov eax, dword [esp + 0x84]
push eax
call fcn.00475405
add esp, 4
jmp 0x4699ef
mov ebp, 0xf
mov eax, edi
mov dword [esp + 0x98], ebp
mov dword [esp + 0x94], edx
mov byte [esp + 0x84], dl
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x469884
sub eax, ecx
push eax
push edi
lea ecx, [esp + 0x8c]
call fcn.00402d50
mov ebx, 3
lea edi, [esp + 0x84]
lea esi, [esp + 0xa0]
mov dword [esp + 0x1c8], ebx
call fcn.0044b4d0
mov esi, eax
xor edi, edi
mov dword [esp + 0x5c], 2
mov dword [esp + 0x60], str.p:p_agentshpam2.eem_recipes201152726_base_branchesinputtools_win_release_branchgoogleclient_third_partyprotobuf_files_srcgoogleprotobuf_stubs_substitute.cc
mov dword [esp + 0x64], 0x61
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], edi
mov byte [esp + 0x68], 0
push 0x2e
mov eax, str.Invalid_strings::Substitute___format_string:__
lea ecx, [esp + 0x6c]
mov byte [esp + 0x1cc], 5
call fcn.0040b380
push edi
push esi
or eax, 0xffffffff
lea esi, [esp + 0x70]
call fcn.0040bc60
push 2
mov eax, 0x49d3b4
mov ecx, esi
call fcn.0040b380
lea ecx, [esp + 0x5c]
call fcn.00420b30
mov esi, 0x10
mov byte [esp + 0x1c8], 4
cmp dword [esp + 0x7c], esi
jb 0x469940
mov ecx, dword [esp + 0x68]
push ecx
call fcn.00475405
add esp, 4
mov byte [esp + 0x1c8], bl
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], edi
mov byte [esp + 0x68], 0
cmp dword [esp + 0xb4], esi
jb 0x46996d
mov edx, dword [esp + 0xa0]
push edx
call fcn.00475405
add esp, 4
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb0], edi
jmp 0x469830
push edx
sub ebp, ebx
push ebp
call fcn.00406450
cmp dword [esi + 0x10], 0
jne 0x469993
xor ebp, ebp
jmp 0x46999d
cmp dword [esi + 0x14], 0x10
jb 0x46999b
mov esi, dword [esi]
mov ebp, esi
add ebp, ebx
xor esi, esi
cmp byte [edi], 0
je 0x4699ef
mov al, byte [edi + esi]
cmp al, 0x24
jne 0x4699e4
mov al, byte [edi + esi + 1]
lea ecx, [eax - 0x30]
cmp cl, 9
ja 0x4699d9
movzx edx, al
mov ebx, dword [esp + edx*4 - 0x94]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
push ecx
push ebp
call fcn.00478c10
add ebp, dword [ebx + 4]
add esp, 0xc
inc esi
jmp 0x4699e8
cmp al, 0x24
jne 0x4699e8
mov byte [ebp], al
inc ebp
inc esi
jmp 0x4699e8
mov byte [ebp], al
inc ebp
inc esi
cmp byte [edi + esi], 0
jne 0x4699a6
mov ecx, dword [esp + 0x1c0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1a8]
xor ecx, esp
call fcn.00475410
add esp, 0x1b8
ret