Function at 0x57c996
Capabilities:
Contain obfuscated stackstrings
Set registry value

Disassembly:
push 0x178
mov eax, 0x58faa6
call fcn.00532159
xor esi, esi
call fcn.0057c587
test al, al
je 0x57cc89
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x120], esp
push 0x5cb634
call fcn.004036e4
and dword [ebp - 4], esi
lea eax, [ebp - 0x13c]
push eax
xor ecx, ecx
call fcn.00579897
or ebx, 0xffffffff
mov ecx, eax
mov dword [ebp - 4], ebx
call fcn.005797a8
xor edi, edi
inc edi
mov dword [ebp - 4], edi
cmp dword [eax + 0x14], 8
jb 0x57c9f5
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x124]
call fcn.004145bb
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
push dword [eax]
call fcn.004036e4
mov ecx, dword [ebp - 0x124]
lea ecx, [ecx - 0x10]
call fcn.004138b8
push 0
push edi
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 5
call fcn.00403a36
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x120], esp
push 0x5c713c
call fcn.004036e4
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 6
push eax
xor ecx, ecx
call fcn.00579897
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.005797a8
sub esp, 0x18
mov byte [ebp - 4], 7
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.0040515d
lea eax, [ebp - 0x13c]
push eax
call fcn.0057c4e6
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 0x10
jb 0x57ca8b
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x124]
call fcn.00414616
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x70]
push dword [eax]
call fcn.004035e2
mov ecx, dword [ebp - 0x124]
lea ecx, [ecx - 0x10]
call fcn.004138b8
push 0
push edi
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0xc
call fcn.00403ae2
sub esp, 0x1c
mov ecx, esp
push str.1stBrowser
call fcn.004036e4
xor edx, edx
lea ecx, [ebp - 0xb8]
call fcn.00573e14
add esp, 0x1c
push 0x5c6258
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xd
call fcn.004035e2
sub esp, 0x18
mov byte [ebp - 4], 0xe
mov ecx, esp
mov dword [ebp - 0x120], esp
push str.package
call fcn.004036e4
lea eax, [ebp - 0x13c]
mov byte [ebp - 4], 0xf
push eax
xor ecx, ecx
call fcn.00579897
mov ecx, eax
mov byte [ebp - 4], 0xe
call fcn.005797a8
push ebx
xor ebx, ebx
mov byte [ebp - 4], 0x10
push ebx
push eax
lea ecx, [ebp - 0x88]
call fcn.00404145
push ebx
push edi
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0xe
call fcn.00403a36
mov esi, 0x5c6fe0
push esi
call fcn.004035bb
pop ecx
push eax
push esi
lea ecx, [ebp - 0x88]
call fcn.004040a2
cmp dword [ebp - 0x74], 8
lea ecx, [ebp - 0x11c]
lea eax, [ebp - 0x88]
cmovae eax, dword [ebp - 0x88]
push ecx
push eax
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x57cc1a
cmp dword [ebp - 0x8c], 8
lea ecx, [ebp - 0xa0]
mov eax, dword [ebp - 0x90]
cmovae ecx, dword [ebp - 0xa0]
add eax, eax
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push eax
push ecx
push edi
push ebx
push str.TransactionId
push dword [ebp - 0x11c]
call esi
cmp dword [ebp - 0x5c], 8
lea ecx, [ebp - 0x70]
mov eax, dword [ebp - 0x60]
cmovae ecx, dword [ebp - 0x70]
add eax, eax
push eax
push ecx
push edi
push ebx
push str.ConfirmationToken
push dword [ebp - 0x11c]
call esi
push dword [ebp - 0xa8]
cmp dword [ebp - 0xa4], 0x10
lea eax, [ebp - 0xb8]
cmovae eax, dword [ebp - 0xb8]
push eax
push edi
push ebx
push str.Fingerprint
push dword [ebp - 0x11c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 0x11c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
sub esp, 0x18
lea edx, [ebp - 0xa0]
mov ecx, esp
push str.SEARCH
call fcn.00404aae
pop ecx
call fcn.00572310
add esp, 0x18
lea ecx, [ebp - 0x88]
push ebx
push edi
call fcn.00403a36
push ebx
push edi
lea ecx, [ebp - 0xb8]
call fcn.00403ae2
push ebx
push edi
lea ecx, [ebp - 0x70]
call fcn.00403a36
push ebx
push edi
lea ecx, [ebp - 0xa0]
call fcn.00403a36
push ebx
push edi
lea ecx, [ebp - 0x28]
call fcn.00403ae2
mov eax, 0x3e8a
jmp 0x57d0d1
cmp byte [0x5ff351], 0
je 0x57cc9c
mov eax, 0x3e89
jmp 0x57d0d1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x120], esp
push 0x5c713c
call fcn.004036e4
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 0x11
push eax
xor ecx, ecx
call fcn.00579897
or ebx, 0xffffffff
mov ecx, eax
mov dword [ebp - 4], ebx
call fcn.005797a8
xor edi, edi
mov dword [ebp - 4], 0x12
inc edi
cmp dword [ebp - 0xc0], 0
je 0x57d06b
sub esp, 0x18
lea eax, [ebp - 0xd0]
mov ecx, esp
push eax
call fcn.00402961
call fcn.00572310
mov ecx, esp
mov dword [ebp - 0x120], esp
push 0x5cb634
call fcn.004036e4
lea eax, [ebp - 0x13c]
mov byte [ebp - 4], 0x13
push eax
xor ecx, ecx
call fcn.00579897
mov ecx, eax
mov byte [ebp - 4], 0x12
call fcn.005797a8
mov byte [ebp - 4], 0x14
cmp dword [eax + 0x14], 8
jb 0x57cd3b
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x124]
call fcn.004145bb
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x118]
push dword [eax]
call fcn.004036e4
mov ecx, dword [ebp - 0x124]
lea ecx, [ecx - 0x10]
call fcn.004138b8
push 0
push edi
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x18
call fcn.00403a36
sub esp, 0x18
lea eax, [ebp - 0x118]
mov ecx, esp
push eax
call fcn.0040515d
lea eax, [ebp - 0x28]
push eax
call fcn.0057c4e6
mov byte [ebp - 4], 0x19
cmp dword [eax + 0x14], 0x10
jb 0x57cd9e
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x11c]
call fcn.00414616
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x100]
push dword [eax]
call fcn.004035e2
mov ecx, dword [ebp - 0x11c]
lea ecx, [ecx - 0x10]
call fcn.004138b8
push 0
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1d
call fcn.00403ae2
sub esp, 0x1c
mov ecx, esp
push str.1stBrowser
call fcn.004036e4
xor edx, edx
lea ecx, [ebp - 0x40]
call fcn.00573e14
add esp, 0x1c
push 0x5c5ffc
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x1e
call fcn.004035e2
mov esi, str.api_transaction_confirm_
mov byte [ebp - 4], 0x1f
push esi
call fcn.004035bb
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
call fcn.00403542
push str.transactionId
lea ecx, [ebp - 0x28]
call fcn.004035e2
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x20
push ecx
mov edx, eax
lea ecx, [ebp - 0x13c]
call fcn.00404b26
pop ecx
push ebx
xor esi, esi
mov byte [ebp - 4], 0x21
push esi
push eax
lea ecx, [ebp - 0x58]
call fcn.00404145
push esi
push edi
lea ecx, [ebp - 0x13c]
call fcn.00403a36
push esi
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1f
call fcn.00403a36
push str.confirmationtoken
lea ecx, [ebp - 0x28]
call fcn.004035e2
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x22
push ecx
mov edx, eax
lea ecx, [ebp - 0x13c]
call fcn.00404b26
pop ecx
push ebx
push esi
push eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x23
call fcn.00404145
push esi
push edi
lea ecx, [ebp - 0x13c]
call fcn.00403a36
push esi
push edi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1f
call fcn.00403a36
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x120], esp
push 0x5c6424
call fcn.004036e4
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x24
push eax
xor ecx, ecx
call fcn.00579897
mov ecx, eax
mov byte [ebp - 4], 0x1f
call fcn.005797a8
mov esi, eax
push str.appId
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x25
call fcn.004035e2
push esi
mov edx, eax
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x13c]
call fcn.004051f9
pop ecx
push ebx
xor esi, esi
mov byte [ebp - 4], 0x27
push esi
push eax
lea ecx, [ebp - 0x58]
call fcn.00404145
push esi
push edi
lea ecx, [ebp - 0x13c]
call fcn.00403a36
push esi
push edi
lea ecx, [ebp - 0x28]
call fcn.00403a36
push esi
push edi
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x1f
call fcn.00403a36
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0x30]
cmovae ecx, dword [ebp - 0x40]
add eax, ecx
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x40]
cmovae ecx, dword [ebp - 0x40]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x184]
call fcn.00405296
mov esi, eax
mov byte [ebp - 4], 0x28
push str.fingerprint
lea ecx, [ebp - 0x16c]
call fcn.004035e2
push esi
mov edx, eax
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x154]
call fcn.004051f9
pop ecx
push ebx
xor esi, esi
mov byte [ebp - 4], 0x2a
push esi
push eax
lea ecx, [ebp - 0x58]
call fcn.00404145
push esi
push edi
lea ecx, [ebp - 0x154]
call fcn.00403a36
push esi
push edi
lea ecx, [ebp - 0x16c]
call fcn.00403a36
push esi
push edi
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0x1f
call fcn.00403a36
push 0x5c5ffe
lea ecx, [ebp - 0xe8]
call fcn.004036e4
sub esp, 0x18
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x58]
mov dword [ebp - 0x120], esp
mov ecx, esp
lea esi, [ebp - 0xe8]
push eax
call fcn.00402961
sub esp, 0x18
mov byte [ebp - 4], 0x2c
mov ecx, esp
push str.transaction.go.im
call fcn.004035e2
mov ecx, esi
mov byte [ebp - 4], 0x2b
call fcn.0057b8c7
add esp, 0x30
lea ecx, [ebp - 0xe8]
mov esi, eax
push 0
push edi
call fcn.00403ae2
push 0
push edi
lea ecx, [ebp - 0x58]
call fcn.00403a36
push 0
push edi
lea ecx, [ebp - 0x40]
call fcn.00403ae2
push 0
push edi
lea ecx, [ebp - 0x100]
call fcn.00403a36
push 0
push edi
lea ecx, [ebp - 0x118]
call fcn.00403ae2
push 0
push edi
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], ebx
call fcn.00403a36
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x120], esp
push 0x5c62a4
call fcn.004036e4
sub esp, 0x18
mov dword [ebp - 4], 0x2d
mov ecx, esp
mov dword [ebp - 0x124], esp
push 0x5c5ffe
call fcn.004036e4
sub esp, 0x18
mov byte [ebp - 4], 0x2e
mov ecx, esp
push str.confirmTransaction
call fcn.004036e4
xor dl, dl
mov dword [ebp - 4], ebx
mov ecx, esi
call fcn.00572271
add esp, 0x48
mov eax, esi
call fcn.00532103
ret