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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [0x904fe8]
xor eax, ebp
mov dword [ebp - 4], eax
mov al, byte [ebp + 0xc]
mov byte [ebp - 0x6d], al
mov byte [ebp - 0x80], al
push ebx
mov ebx, ecx
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x74], esi
push edi
test al, al
je 0x65a201
cmp al, 2
je 0x65a201
cmp al, 7
jne 0x65a1b6
mov eax, dword [esi + 0x14]
xor ecx, ecx
mov edx, dword [eax + 0x38]
mov eax, dword [esi + ecx*4 + 4]
cmp eax, dword [edx + ecx*4 + 0x14]
jne 0x65a1b6
inc ecx
cmp ecx, 4
jne 0x65a1a4
jmp 0x65a201
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x38]
add eax, 0x14
push eax
lea eax, [ebp - 0x28]
push 0x21
push eax
call fcn.0061a824
push dword [ebp - 0x80]
call fcn.0061a89f
push eax
movzx eax, byte [ebp - 0x6d]
push eax
mov eax, dword [esi + 0x14]
push dword [eax + 0x3c]
lea eax, [ebp - 0x28]
push eax
push str.Failed_to_apply_patch_for_file__s._Type:__u__Error__u__:__s
push 0x3f4
push str.d:package_cache_tact3.9.2_srcupdate_build_update_patcher.cpp
push 4
push str.tact
call fcn.007a784a
add esp, 0x34
mov eax, dword [esi + 0x14]
push ebx
mov edi, dword [eax + 0x3c]
mov dword [ebp - 0x78], edi
call fcn.006acdfa
cmp byte [ebx + 0x20], 0
mov al, byte [ebp - 0x6d]
pop ecx
mov ecx, 0x86a188
je 0x65a2de
cmp al, 2
je 0x65a2de
mov esi, ecx
lea edi, [ebp - 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x78]
mov eax, edi
sub eax, 0
je 0x65a268
sub eax, 1
je 0x65a259
sub eax, 1
jne 0x65a282
mov ecx, dword [ebp - 0x74]
mov esi, dword [ebx + 0x68]
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x40]
mov esi, dword [esi + eax*4]
jmp 0x65a278
mov ecx, dword [ebp - 0x74]
mov eax, dword [ecx + 0x14]
imul esi, dword [eax + 0x40], 0x3c
add esi, dword [ebx + 0x78]
jmp 0x65a278
mov ecx, dword [ebp - 0x74]
mov eax, dword [ecx + 0x14]
imul esi, dword [eax + 0x40], 0x3c
add esi, dword [ebx + 0x88]
lea edi, [ebp - 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x78]
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [ebx + 0x130]
call fcn.00658d0b
test eax, eax
je 0x65a2ba
sub dword [eax + 0x10], 1
mov esi, dword [ebp - 0x74]
jne 0x65a2db
mov ecx, dword [esi]
lea eax, [ebp - 0x38]
push eax
call fcn.0065a92f
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebx + 0x130]
call fcn.00658be4
jmp 0x65a2db
push str.Found_untracked_base_file_during_patching._This_file_will_not_be_cleaned_up.
push 0x41b
push str.d:package_cache_tact3.9.2_srcupdate_build_update_patcher.cpp
push 4
push str.tact
call fcn.007a784a
mov esi, dword [ebp - 0x74]
add esp, 0x14
mov al, byte [ebp - 0x6d]
xor ecx, ecx
mov dword [ebp - 0x84], ecx
test al, al
jne 0x65a307
mov eax, edi
sub eax, ecx
je 0x65a304
sub eax, 1
je 0x65a2ff
sub eax, 1
jne 0x65a307
inc dword [ebx + 0x4c]
jmp 0x65a307
inc dword [ebx + 0x54]
jmp 0x65a307
inc dword [ebx + 0x5c]
mov edx, dword [esi + 0x14]
mov eax, dword [edx + 0x34]
test eax, eax
je 0x65a319
mov dword [ebp - 0x84], eax
jmp 0x65a329
mov esi, dword [edx + 0x38]
lea edi, [ebp - 0x6c]
push 0xd
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x74]
xor ecx, ecx
lea eax, [ebp - 0x84]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x20]
sub dword [ebx + 0x160], eax
mov eax, dword [ebp - 0x78]
sbb dword [ebx + 0x164], ecx
xor edx, edx
dec dword [ebx + 0x168]
inc edx
mov dword [ebp - 0x7c], edx
sub eax, ecx
je 0x65a38f
sub eax, edx
je 0x65a36a
sub eax, edx
jne 0x65a392
mov byte [ebp - 0x7c], cl
jmp 0x65a392
mov eax, dword [esi + 0x14]
imul edi, dword [eax + 0x40], 0x3c
add edi, dword [ebx + 0x78]
xor ecx, ecx
mov eax, dword [edi + ecx*4 + 0x18]
mov esi, 0x86a188
cmp eax, dword [esi + ecx*4]
mov esi, dword [ebp - 0x74]
jne 0x65a38f
inc ecx
cmp ecx, 4
jne 0x65a376
xor dl, dl
mov dword [ebp - 0x7c], edx
lea edi, [esi + 4]
lea ecx, [ebx + 0x114]
push edi
call fcn.00658d46
add eax, 0x10
mov ecx, eax
mov dword [ebp - 0x78], eax
call fcn.0065a63d
push dword [esi + 0x14]
lea ecx, [ebx + 0x98]
call fcn.00659958
cmp dword [ebx + 0x15c], 2
jne 0x65a415
mov ecx, dword [ebp - 0x74]
mov esi, 0x86a188
push ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [ecx + 0x14], 0
mov eax, dword [0x86a180]
mov dword [ecx + 0x18], eax
mov eax, dword [0x86a184]
and dword [ecx + 0x20], 0
mov dword [ecx + 0x1c], eax
mov esi, dword [ebx + 0x168]
call fcn.006ace18
pop ecx
push dword [ebp - 0x80]
lea ecx, [ebp - 0x34]
call fcn.0065938f
test esi, esi
jne 0x65a4c9
mov ecx, ebx
call fcn.0065950b
jmp 0x65a4c9
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
cmp ecx, eax
je 0x65a458
mov eax, dword [ecx - 8]
add ecx, 0xffffffbc
sub eax, 0
je 0x65a44d
sub eax, 1
je 0x65a442
sub eax, 1
jne 0x65a4b7
push ecx
push esi
mov ecx, ebx
call fcn.0065b182
jmp 0x65a4b7
push ecx
push esi
mov ecx, ebx
call fcn.0065af82
jmp 0x65a4b7
push ecx
push esi
mov ecx, ebx
call fcn.0065b044
jmp 0x65a4b7
cmp byte [ebx + 0x20], 0
je 0x65a472
cmp byte [ebp - 0x6d], 2
je 0x65a472
cmp byte [ebp - 0x7c], 0
je 0x65a472
push edi
mov ecx, ebx
call fcn.0065a92f
push edi
lea ecx, [ebx + 0x114]
call fcn.00658c67
push esi
mov ecx, ebx
call fcn.00659991
test eax, eax
jne 0x65a4af
mov ecx, dword [ebp - 0x74]
mov esi, 0x86a188
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
and dword [ecx + 0x14], eax
mov eax, dword [0x86a180]
mov dword [ecx + 0x18], eax
mov eax, dword [0x86a184]
and dword [ecx + 0x20], 0
mov dword [ecx + 0x1c], eax
jmp 0x65a4b7
push eax
mov ecx, ebx
call fcn.0065b122
push ebx
call fcn.006ace18
pop ecx
push dword [ebp - 0x80]
lea ecx, [ebp - 0x34]
call fcn.0065938f
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.007207bc
leave
ret 8