Function at 0x434bd0
Capabilities:
Get common file path
Get file size
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1bb8
call fcn.00612c90
mov eax, dword [0x6ffe74]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x13c3]
push esi
push edi
mov esi, 0x3e7
mov dword [ebp - 0x1bb8], ecx
push esi
push 0
push eax
mov byte [ebp - 0x13c4], 0
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0xfdc], 0
lea eax, [ebp - 0xfdb]
push esi
push 0
push eax
call fcn.006390b0
mov esi, str.addrbk.dat
lea edi, [ebp - 0x38]
add esp, 0xc
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call fcn.00643470
pop ecx
cmp eax, 1
jae 0x434c68
lea eax, [ebp - 0xfdc]
push eax
xor eax, eax
push eax
push eax
push 0x1a
push eax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
js 0x434caf
mov eax, str._sTurboFTP_s
lea ebx, [ebp - 0xfdc]
jmp 0x434c6d
mov eax, 0x6c643c
lea ecx, [ebp - 0x38]
push ecx
push ebx
push eax
lea eax, [ebp - 0x13c4]
push 0x3e8
push eax
call fcn.00402e0a
add esp, 0x14
lea eax, [ebp - 0x13c4]
xor ebx, ebx
push ebx
push ebx
push 3
push ebx
push 1
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
mov dword [ebp - 0x1bb0], edi
cmp edi, 0xffffffff
jne 0x434cbc
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
jmp 0x435068
push ebx
push ebx
push ebx
push 2
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov ebx, eax
test ebx, ebx
jne 0x434cde
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x434cb5
xor eax, eax
push eax
push eax
push eax
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov esi, eax
mov dword [ebp - 0x1ba4], esi
test esi, esi
jne 0x434d0c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call esi
push edi
call esi
jmp 0x434cb5
and dword [ebp - 0x1bac], 0
lea eax, [ebp - 0x1bac]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp dword [ebp - 0x1bac], 0
mov ecx, eax
mov dword [ebp - 0x1ba8], ecx
jne 0x434cfe
xor edx, edx
mov dword [ebp - 0x20], 0xfffeff00
mov dword [ebp - 0x2c], edx
mov eax, esi
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], 0xfffeff00
mov dword [ebp - 0x18], 0xfffeff00
mov dword [ebp - 0x14], 0xfffeff00
mov dword [ebp - 0x10], 0xfffeff00
mov word [ebp - 0xc], dx
mov byte [ebp - 0xa], dl
mov dword [ebp - 0x1bb4], 0x6c5bb9
mov byte [ebp - 0x80c], dl
mov byte [ebp - 0xbf4], dl
mov byte [ebp - 0x17ac], dl
lea edx, [ebp - 0x2c]
push 0x23
push edx
mov edx, ecx
mov ecx, eax
sub edx, eax
add edx, esi
call fcn.00417191
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x43504d
mov eax, dword [ebp - 0x1ba4]
add esi, 0x2a
add eax, dword [ebp - 0x1ba8]
cmp esi, eax
ja 0x43504d
movzx eax, byte [esi]
mov dword [ebp - 0x1b98], eax
add eax, eax
push eax
lea eax, [esi + 1]
push eax
lea eax, [ebp - 0x424]
push eax
call fcn.00638b30
add esp, 0xc
lea eax, [ebp - 0x1b94]
xor ecx, ecx
push ecx
push ecx
push 0x3e8
push eax
push dword [ebp - 0x1b98]
lea eax, [ebp - 0x424]
push eax
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov eax, dword [ebp - 0x1b98]
cmp eax, 0x3e8
jae 0x435079
lea ecx, [eax + 4]
mov byte [ebp + eax - 0x1b94], 0
lea ecx, [esi + ecx*2]
mov esi, dword [ebp - 0x1ba8]
add esi, dword [ebp - 0x1ba4]
mov dword [ebp - 0x1ba0], ecx
cmp ecx, esi
ja 0x43504d
mov al, byte [ecx]
movzx edx, al
mov dword [ebp - 0x1b98], edx
test al, al
je 0x434e97
lea eax, [edx + edx]
push eax
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x424]
push eax
call fcn.00638b30
add esp, 0xc
lea eax, [ebp - 0x17ac]
xor ecx, ecx
push ecx
push ecx
push 0x3e8
push eax
push dword [ebp - 0x1b98]
lea eax, [ebp - 0x424]
push eax
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edx, dword [ebp - 0x1b98]
mov ecx, dword [ebp - 0x1ba0]
mov byte [ebp + edx - 0x17ac], 0
lea ecx, [ecx + edx*2]
add ecx, 4
cmp ecx, esi
ja 0x43504d
movzx eax, byte [ecx]
lea ecx, [ecx + eax*2]
add ecx, 8
mov dword [ebp - 0x1ba0], ecx
cmp ecx, esi
ja 0x43504d
mov al, byte [ecx]
movzx edx, al
mov dword [ebp - 0x1b98], edx
test al, al
je 0x434f54
lea eax, [edx + edx]
push eax
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x424]
push eax
call fcn.00638b30
mov ecx, dword [ebp - 0x1b98]
lea eax, [ebp - 0xbf4]
add esp, 0xc
xor edx, edx
push edx
push edx
push 0x3e8
push eax
push ecx
lea eax, [ebp - 0x424]
push eax
push edx
push edx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov eax, dword [ebp - 0x1b98]
push str.anonymous
mov byte [ebp + eax - 0xbf4], 0
lea eax, [ebp - 0xbf4]
push eax
call fcn.0064fd85
pop ecx
pop ecx
test eax, eax
jne 0x434f48
mov eax, dword [ebp - 0x1ba0]
mov ecx, dword [ebp - 0x1b98]
lea eax, [eax + ecx*2]
add eax, 4
jmp 0x435036
mov ecx, dword [ebp - 0x1ba0]
mov edx, dword [ebp - 0x1b98]
lea eax, [edx + 2]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x1b98], eax
cmp eax, esi
ja 0x43504d
mov al, byte [eax]
mov byte [ebp - 0x1b99], al
test al, al
je 0x435026
movzx eax, al
add eax, eax
push eax
mov dword [ebp - 0x1ba0], eax
lea eax, [edx*2 + 5]
add eax, ecx
push eax
lea eax, [ebp - 0x424]
push eax
call fcn.00638b30
xor ecx, ecx
mov byte [ebp - 0x80c], 0
add esp, 0xc
xor edx, edx
cmp dword [ebp - 0x1ba0], ecx
jbe 0x434fd6
mov edi, dword [ebp - 0x1ba0]
mov al, byte [ebp + ecx - 0x424]
test al, al
je 0x434fcb
xor al, 0x49
mov byte [ebp + edx - 0x80c], al
inc edx
inc ecx
cmp ecx, edi
jb 0x434fb6
mov edi, dword [ebp - 0x1bb0]
lea eax, [ebp - 0x80c]
mov byte [ebp + edx - 0x80c], 0
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x435020
mov ecx, dword [ebp - 0x1bb4]
lea eax, [ebp - 0x80c]
push 0xffffffffffffffff
push ecx
push eax
lea eax, [ebp - 0xbf4]
push eax
lea eax, [ebp - 0x17ac]
push eax
push ecx
mov ecx, dword [ebp - 0x1bb8]
push 0x158
push 4
call fcn.0043ee6b
mov al, byte [ebp - 0x1b99]
movzx eax, al
lea eax, [eax*2 + 1]
add eax, dword [ebp - 0x1b98]
cmp eax, esi
ja 0x43504d
mov esi, dword [ebp - 0x1ba4]
xor edx, edx
mov ecx, dword [ebp - 0x1ba8]
jmp 0x434d73
push dword [ebp - 0x1ba4]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call esi
push edi
call esi
xor eax, eax
inc eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.006122f0
leave
ret 4
call fcn.00612782
int3