Function at 0x4019b0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x5c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push esi
mov esi, edx
mov ebx, 0x43e368
push edi
mov edx, ecx
mov dword [esp + 0x24], esi
mov ecx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor edi, edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], edi
nop dword [eax]
mov al, byte [ebx + 4]
test al, 4
je 0x401a74
cmp dword [ebx - 8], 0
jne 0x401aca
mov eax, dword [ebx - 4]
sub eax, 1
je 0x401a4f
sub eax, 1
je 0x401a2a
sub eax, 1
jne case.default.0x401a85
push dword [ebx]
mov edx, edi
mov ecx, esi
call fcn.004100a0
add esp, 4
jmp 0x401ac0
mov esi, dword [ebx]
push 0xc
call ecx
add esp, 4
test eax, eax
je 0x402bf2
mov dword [eax], edi
mov edx, eax
mov dword [eax + 8], esi
mov esi, dword [esp + 0x24]
mov ecx, esi
call fcn.0040fdd0
jmp 0x401ac0
mov bl, byte [ebx]
push 0xc
call ecx
add esp, 4
test eax, eax
je 0x402bf2
mov edx, eax
mov dword [eax], edi
mov ecx, esi
mov byte [eax + 8], bl
call fcn.0040fdd0
mov ebx, dword [esp + 0x30]
jmp 0x401ac0
test al, 2
jne 0x401aca
mov eax, dword [ebx - 4]
dec eax
cmp eax, 4
ja case.default.0x401a85
jmp dword [eax*4 + 0x402c48]
push dword [ebx]
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x1c]
call fcn.004010a0
mov ecx, dword [esp + 0x28]
add esp, 4
mov esi, eax
mov edx, edi
push esi
call fcn.004100a0
add esp, 4
test esi, esi
je 0x401abc
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov ecx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov eax, dword [esp + 0x10]
inc edi
add eax, 0x18
mov dword [esp + 0x2c], edi
add ebx, 0x18
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], ebx
cmp eax, 0x1398
jb 0x4019f0
test edx, edx
je 0x401b0a
mov ecx, dword [esp + 0x18]
mov edx, str.Protocol
mov ecx, dword [ecx]
call fcn.0040ebd0
mov esi, eax
test esi, esi
jne 0x401e1d
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
push 8
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x402bf2
jmp 0x401e04
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx]
test eax, eax
jne 0x401b7a
test edx, edx
je 0x401b6c
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 4
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x50]
push eax
push 0
push dword [ebx + 8]
push dword [edx]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x401b6c
cmp dword [esp + 0x3c], 4
jne 0x401b6c
cmp dword [esp + 0x48], 4
jne 0x401b6c
mov esi, dword [esp + 0x4c]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
push 0xc
call eax
jmp 0x401a30
mov edx, dword [eax + 4]
xor ecx, ecx
test edx, edx
je 0x401b9d
mov edi, dword [eax]
mov eax, edi
cmp byte [eax + 8], 0
jne 0x401b95
cmp dword [eax], esi
je 0x401c21
inc ecx
add eax, 0xc
cmp ecx, edx
jb 0x401b87
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x401be3
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], 4
push ecx
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x3c]
push ecx
push 0
push dword [ebx + 8]
push dword [eax]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x401be3
cmp dword [esp + 0x30], 4
jne 0x401be3
cmp dword [esp + 0x34], 4
mov edx, dword [esp + 0x38]
je 0x401be5
mov edx, esi
mov eax, dword [ebx + 0xc]
xor ecx, ecx
mov esi, dword [eax + 4]
test esi, esi
je 0x401c02
mov edi, dword [eax]
lea eax, [edi + 4]
cmp dword [eax], edx
je 0x401c31
inc ecx
add eax, 0xc
cmp ecx, esi
jb 0x401bf6
mov esi, dword [ebx]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
push 0xc
call eax
add esp, 4
test eax, eax
je 0x402bf2
mov edi, dword [esp + 0x2c]
jmp 0x401a3b
lea eax, [ecx + ecx*2]
mov esi, dword [edi + eax*4 + 4]
mov dword [esp + 0x40], esi
jmp 0x401ba1
lea eax, [ecx + ecx*2]
mov esi, dword [edi + eax*4]
jmp 0x401c04
mov al, byte [ebx]
mov byte [esp + 0x2b], al
test edx, edx
je 0x401c8f
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 4
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1c]
push eax
push 0
push dword [ebx + 8]
push dword [edx]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x401c7d
cmp dword [esp + 0x44], 4
jne 0x401c7d
cmp dword [esp + 0x14], 4
mov eax, dword [esp + 0x1c]
je 0x401c82
movsx eax, byte [esp + 0x2b]
mov ecx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test eax, eax
setne byte [esp + 0x2b]
push 0xc
call ecx
add esp, 4
test eax, eax
je 0x402bf2
mov cl, byte [esp + 0x2b]
mov edx, eax
mov byte [eax + 8], cl
mov ecx, esi
mov dword [eax], edi
call fcn.0040fdd0
jmp 0x401ac0
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x18]
push edi
push esi
call fcn.00401180
add esp, 8
jmp 0x401ac0
mov esi, dword [ebx + 8]
mov edx, esi
mov ecx, dword [esp + 0x18]
call fcn.0040b0b0
mov edi, eax
test edi, edi
jne 0x401da2
mov eax, str.Font
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x401d08
test cl, cl
je 0x401d04
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x401d08
add esi, 2
add eax, 2
test cl, cl
jne 0x401ce8
xor eax, eax
jmp 0x401d0d
sbb eax, eax
or eax, 1
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
push 0x10
test eax, eax
jne 0x401d58
call esi
mov edi, eax
add esp, 4
test edi, edi
je 0x402bf2
push 0xc
call esi
mov esi, eax
add esp, 4
test esi, esi
je 0x402bf2
mov ecx, str.Courier_New
mov edx, esi
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x401d42
mov dword [edi + 8], 0xa
jmp 0x401d95
call esi
mov edi, eax
add esp, 4
test edi, edi
je 0x402bf2
push 1
call esi
mov esi, eax
add esp, 4
test esi, esi
je 0x402bf2
mov ecx, 0x436248
mov edx, esi
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x401d81
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov byte [edi + 4], 0
mov dword [edi], esi
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
push 0xc
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x402bf2
mov eax, dword [esp + 0x2c]
mov dword [esi], eax
push dword [edi + 0xc]
mov dl, byte [edi + 4]
push dword [edi + 8]
mov ecx, dword [edi]
call fcn.0040b560
add esp, 8
mov dword [esi + 8], eax
mov edx, esi
mov esi, dword [esp + 0x24]
mov ecx, esi
call fcn.0040fdd0
mov eax, dword [edi]
test eax, eax
je 0x401df1
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edi, dword [esp + 0x30]
add esp, 4
jmp 0x401ac0
mov ecx, str.default
mov edx, esi
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x401e10
mov edi, dword [0x44b49c]
push 0xc
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
test eax, eax
je 0x402bfc
mov ebx, dword [esp + 0x24]
mov edx, eax
mov ecx, ebx
mov dword [eax], 2
mov dword [eax + 8], edi
call fcn.0040fdd0
mov edi, dword [0x44b498]
push 0xc
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
test eax, eax
je 0x402c01
mov edx, eax
mov dword [eax], 1
mov ecx, ebx
mov dword [eax + 8], edi
call fcn.0040fdd0
test esi, esi
je 0x401e85
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov ebx, dword [esp + 0x18]
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test ebx, ebx
je 0x401ecd
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 4
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push 0
push str.PingInterval
push dword [ebx]
call edi
test eax, eax
jne 0x401ecd
cmp dword [esp + 0x10], 4
jne 0x401ecd
cmp dword [esp + 0x1c], 4
jne 0x401ecd
mov esi, dword [esp + 0x14]
jmp 0x401ed3
xor esi, esi
test ebx, ebx
je 0x401f0d
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 4
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push 0
push str.PingIntervalSecs
push dword [ebx]
call edi
test eax, eax
jne 0x401f0d
cmp dword [esp + 0x10], 4
jne 0x401f0d
cmp dword [esp + 0x1c], 4
jne 0x401f0d
mov edi, dword [esp + 0x14]
jmp 0x401f0f
xor edi, edi
mov ebx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
push 0xc
call ebx
mov edx, eax
add esp, 4
test edx, edx
je 0x402c06
mov eax, esi
mov dword [edx], 6
shl eax, 4
sub eax, esi
lea eax, [edi + eax*4]
mov edi, dword [esp + 0x24]
mov ecx, edi
mov dword [edx + 8], eax
call fcn.0040fdd0
mov esi, dword [esp + 0x18]
mov edx, str.TerminalModes
push 0x3d
push edi
mov ecx, esi
call fcn.00401260
add esp, 8
test al, al
je 0x402070
mov eax, dword [str.INTR]
xor edi, edi
test eax, eax
je 0x402132
mov ebx, dword [esp + 0x24]
mov esi, 0x436ad0
nop word [eax + eax]
mov ecx, dword [ebx]
lea edx, [esp + 0x1c]
push 0
push 0
push 0
mov dword [esp + 0x28], 0x3d
mov dword [esp + 0x2c], eax
call fcn.004118c0
add esp, 0xc
test eax, eax
je 0x401faa
cmp dword [eax + 8], 0
jne 0x401ff8
mov esi, dword [esi]
mov ecx, str.IUTF8
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401fd3
test dl, dl
je 0x401fcf
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401fd3
add eax, 2
add ecx, 2
test dl, dl
jne 0x401fb3
xor ecx, ecx
jmp 0x401fd8
sbb ecx, ecx
or ecx, 1
test ecx, ecx
mov eax, 0x436668
mov ecx, 0x436664
mov edx, 0x3d
cmove eax, ecx
mov ecx, ebx
push eax
push esi
call fcn.00410130
add esp, 8
inc edi
mov eax, dword [edi*4 + 0x436ad0]
lea esi, [edi*4 + 0x436ad0]
test eax, eax
jne 0x401f80
mov edi, ebx
mov ebx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, dword [esp + 0x18]
test esi, esi
je 0x40213b
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 4
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push 0
push str.ProxyMethod
push dword [esi]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40213b
cmp dword [esp + 0x10], 4
jne 0x40213b
cmp dword [esp + 0x1c], 4
jne 0x40213b
mov edx, dword [esp + 0x14]
jmp 0x40213e
mov esi, dword [str.INTR]
xor ebx, ebx
test esi, esi
je 0x402011
nop dword [eax]
push 0xc
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edi, eax
add esp, 4
test edi, edi
je 0x402bf2
xor edx, edx
mov dword [edi], 0x3d
test esi, esi
je 0x4020df
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4020a6
sub ecx, edx
mov eax, 1
add ecx, 1
cmovne eax, ecx
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, eax
add esp, 4
test edx, edx
je 0x402bf2
mov ecx, edx
sub ecx, esi
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [ecx + esi - 1], al
test al, al
jne 0x4020d2
push 2
mov dword [edi + 4], edx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, eax
add esp, 4
test esi, esi
je 0x402bf2
mov ecx, 0x436664
mov edx, esi
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x402100
mov dword [edi + 8], esi
mov edx, edi
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.0040fdd0
mov esi, dword [ebx*4 + 0x436ad4]
inc ebx
test esi, esi
jne 0x402080
jmp 0x402011
mov edi, dword [esp + 0x24]
jmp 0x40201b
or edx, 0xffffffff
xor ecx, ecx
xor eax, eax
cmp dword [eax + 0x43f974], edx
je 0x402253
add eax, 0xc
inc ecx
cmp eax, 0x6c
jb 0x402142
test esi, esi
je 0x4021a9
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 4
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push 0
push str.ProxyType
push dword [esi]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4021a1
cmp dword [esp + 0x10], 4
jne 0x4021a1
cmp dword [esp + 0x1c], 4
jne 0x4021a1
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
jmp 0x4021ab
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
xor edx, edx
xor ecx, ecx
xor eax, eax
nop
cmp dword [eax + 0x43fa7c], edx
je 0x4021c6
add eax, 0xc
inc ecx
cmp eax, 0x3c
jb 0x4021b0
jmp 0x402242
lea eax, [ecx + ecx*2]
mov esi, dword [eax*4 + 0x43fa78]
mov dword [esp + 0x2c], esi
cmp esi, 2
jne 0x40223e
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], esi
test eax, eax
je 0x402263
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 4
push ecx
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x24]
push ecx
push 0
push str.ProxySOCKSVersion
push dword [eax]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40223a
cmp dword [esp + 0x10], 4
jne 0x40223a
cmp dword [esp + 0x1c], 4
jne 0x40223a
cmp dword [esp + 0x14], 4
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x18]
jne 0x402242
mov dword [esp + 0x2c], 1
jmp 0x402242
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x18]
push 0xc
call ebx
add esp, 4
test eax, eax
je 0x402c0b
jmp 0x402267
lea eax, [ecx + ecx*2]
mov eax, dword [eax*4 + 0x43f970]
mov dword [esp + 0x2c], eax
jmp 0x402242
mov esi, eax
jmp 0x402242
mov ecx, dword [esp + 0x2c]
mov edx, eax
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax], 0xd
call fcn.0040fdd0
push 0x3e
push edi
mov edx, str.Environment
mov ecx, esi
call fcn.00401260
add esp, 8
test esi, esi
je 0x4022e3
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 4
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push 0
push str.GssapiFwd
push dword [esi]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4022d8
cmp dword [esp + 0x10], 4
jne 0x4022d8
cmp dword [esp + 0x1c], 4
jne 0x4022d8
mov eax, dword [esp + 0x14]
xor ebx, ebx
test eax, eax
setne bl
jmp 0x4022e5
xor eax, eax
xor ebx, ebx
test eax, eax
setne bl
jmp 0x4022e5
xor ebx, ebx
push 0xc
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
test eax, eax
je 0x402c10
mov edx, eax
mov dword [eax], 0x32
mov ecx, edi
mov byte [eax + 8], bl
call fcn.0040fdd0
mov ebx, dword [esp + 0x18]
mov edx, str.Cipher
push 0x436698
mov ecx, ebx
call fcn.004010a0
add esp, 4
mov esi, eax
mov edx, 0x436bb0
mov ecx, esi
push 0x20
push edi
push 8
call fcn.00401560
add esp, 0xc
test esi, esi
je 0x402346
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
test ebx, ebx
je 0x402388
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 4
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push 0
push str.BugDHGEx2
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x402388
cmp dword [esp + 0x10], 4
jne 0x402388
cmp dword [esp + 0x1c], 4
jne 0x402388
mov ecx, dword [esp + 0x14]
jmp 0x40238a
xor ecx, ecx
cmp ecx, 2
mov edx, str.ecdh_dh_group18_sha512_dh_group17_sha512_dh_group16_sha512_dh_group15_sha512_dh_group14_sha1_rsa_WARN_dh_group1_sha1_dh_gex_sha1
mov eax, str.ecdh_dh_gex_sha1_dh_group18_sha512_dh_group17_sha512_dh_group16_sha512_dh_group15_sha512_dh_group14_sha1_rsa_WARN_dh_group1_sha1
mov ecx, ebx
cmove eax, edx
mov edx, 0x436578
push eax
call fcn.004010a0
add esp, 4
mov esi, eax
mov ecx, str.dh_group14_sha1_dh_group1_sha1_rsa_WARN_dh_gex_sha1
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4023d1
test dl, dl
je 0x4023cd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4023d1
add eax, 2
add ecx, 2
test dl, dl
jne 0x4023b1
xor eax, eax
jmp 0x4023d6
sbb eax, eax
or eax, 1
test eax, eax
jne 0x402436
test esi, esi
je 0x4023e8
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push 0x81
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, eax
add esp, 4
test esi, esi
je 0x402c15
mov ecx, str.ecdh_dh_group18_sha512_dh_group17_sha512_dh_group16_sha512_dh_group15_sha512_dh_group14_sha1_rsa_WARN_dh_group1_sha1_dh_gex_sha1
mov edx, esi
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x402410
push 0x18
push edi
push 0xb
mov edx, 0x436c50
mov ecx, esi
call fcn.00401560
add esp, 0xc
jmp 0x4024db
mov ecx, str.dh_gex_sha1_dh_group14_sha1_dh_group1_sha1_rsa_WARN
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x402460
test dl, dl
je 0x40245c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x402460
add eax, 2
add ecx, 2
test dl, dl
jne 0x402440
xor eax, eax
jmp 0x402465
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4024c3
test esi, esi
je 0x402477
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push 0x81
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, eax
add esp, 4
test esi, esi
je 0x402c1a
mov ecx, str.ecdh_dh_gex_sha1_dh_group18_sha512_dh_group17_sha512_dh_group16_sha512_dh_group15_sha512_dh_group14_sha1_rsa_WARN_dh_group1_sha1
mov edx, esi
sub edx, ecx
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x4024a0
push 0x18
push edi
push 0xb
mov edx, 0x436c50
mov ecx, esi
call fcn.00401560
add esp, 0xc
jmp 0x4024db
push 0x18
push edi
push 0xb
mov edx, 0x436c50
mov ecx, esi
call fcn.00401560
add esp, 0xc
test esi, esi
je 0x4024e5
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push str.ed25519_ecdsa_rsa_dsa_WARN
mov edx, str.HostKey
mov ecx, ebx
call fcn.004010a0
add esp, 4
mov esi, eax
mov edx, 0x436d00
mov ecx, esi
push 0x19
push edi
push 6
call fcn.00401560
add esp, 0xc
test esi, esi
je 0x40251d
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
test ebx, ebx
je 0x40255d
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 4
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push 0
push str.GssapiRekey
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40255d
cmp dword [esp + 0x10], 4
jne 0x40255d
cmp dword [esp + 0x1c], 4
mov esi, dword [esp + 0x14]
je 0x402562
mov esi, 2
push 0xc
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
test eax, eax
je 0x402c1f
mov edx, eax
mov dword [eax], 0x33
mov ecx, edi
mov dword [eax + 8], esi
call fcn.0040fdd0
test ebx, ebx
je 0x4025d5
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 4
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push 0
push str.AuthGSSAPI
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4025c7
cmp dword [esp + 0x10], 4
jne 0x4025c7
cmp dword [esp + 0x1c], 4
mov eax, dword [esp + 0x14]
je 0x4025cc
mov eax, 1
xor ebx, ebx
test eax, eax
setne bl
jmp 0x4025da
mov ebx, 1
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
push 0xc
call esi
add esp, 4
test eax, eax
je 0x402c24
mov edx, eax
mov dword [eax], 0x30
mov ecx, edi
mov byte [eax + 8], bl
call fcn.0040fdd0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x402653
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 4
push ecx
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x24]
push ecx
push 0
push str.AuthGSSAPIKEX
push dword [eax]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x402645
cmp dword [esp + 0x10], 4
jne 0x402645
cmp dword [esp + 0x1c], 4
mov eax, dword [esp + 0x14]
je 0x40264a
mov eax, 1
xor ebx, ebx
test eax, eax
setne bl
jmp 0x402658
mov ebx, 1
push 0xc
call esi
add esp, 4
test eax, eax
je 0x402c29
mov edx, eax
mov dword [eax], 0x31
mov ecx, edi
mov byte [eax + 8], bl
call fcn.0040fdd0
mov ebx, dword [esp + 0x18]
mov edx, str.GSSLibs
push 0x436698
mov ecx, ebx
call fcn.004010a0
add esp, 4
mov esi, eax
mov edx, 0x43c690
mov ecx, esi
push 0x34
push edi
push 3
call fcn.00401560
add esp, 0xc
test esi, esi
je 0x4026b5
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push 0x35
push edi
mov edx, str.GSSCustom
mov ecx, ebx
call fcn.00401180
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
add esp, 8
test ebx, ebx
je 0x40270b
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 4
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push 0
push str.RemoteQTitleAction
push dword [ebx]
call esi
test eax, eax
jne 0x40270b
cmp dword [esp + 0x10], 4
jne 0x40270b
cmp dword [esp + 0x1c], 4
jne 0x40270b
mov edx, dword [esp + 0x14]
jmp 0x40270e
or edx, 0xffffffff
xor ecx, ecx
xor eax, eax
cmp dword [eax + 0x43f778], edx
je 0x40276d
add eax, 0xc
inc ecx
cmp eax, 0x24
jb 0x402712
test ebx, ebx
je 0x40275f
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 4
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push 0
push str.NoRemoteQTitle
push dword [ebx]
call esi
test eax, eax
jne 0x40275f
cmp dword [esp + 0x10], 4
jne 0x40275f
cmp dword [esp + 0x1c], 4
mov esi, dword [esp + 0x14]
je 0x402764
mov esi, 1
neg esi
sbb esi, esi
add esi, 2
jmp 0x402777
lea eax, [ecx + ecx*2]
mov esi, dword [eax*4 + 0x43f774]
mov ebx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
push 0xc
call ebx
add esp, 4
test eax, eax
je 0x402c2e
mov edx, eax
mov dword [eax], 0x5b
mov ecx, edi
mov dword [eax + 8], esi
call fcn.0040fdd0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4027e2
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 4
push ecx
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x24]
push ecx
push 0
push str.BellOverloadT
push dword [eax]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4027e2
cmp dword [esp + 0x10], 4
jne 0x4027e2
cmp dword [esp + 0x1c], 4
mov esi, dword [esp + 0x14]
je 0x4027e7
mov esi, 0x7d0
push 0xc
call ebx
add esp, 4
test eax, eax
je 0x402c33
mov edx, eax
mov dword [eax], 0x7a
mov ecx, edi
mov dword [eax + 8], esi
call fcn.0040fdd0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40284c
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 4
push ecx
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x24]
push ecx
push 0
push str.BellOverloadS
push dword [eax]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40284c
cmp dword [esp + 0x10], 4
jne 0x40284c
cmp dword [esp + 0x1c], 4
mov esi, dword [esp + 0x14]
je 0x402851
mov esi, 0x1388
push 0xc
call ebx
add esp, 4
test eax, eax
je 0x402c38
mov edx, eax
mov dword [eax], 0x7b
mov ecx, edi
mov dword [eax + 8], esi
call fcn.0040fdd0
xor edi, edi
lea esi, [edi + 2]
nop word [eax + eax]
push edi
lea eax, [esp + 0x54]
push str.Colour_d
push eax
call fcn.00401020
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x5c]
add esp, 0xc
push dword [edi*4 + 0x436d60]
call fcn.004010a0
add esp, 4
mov ebx, eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x24]
push eax
push str._d__d__d
push ebx
call fcn.00401060
add esp, 0x14
cmp eax, 3
jne 0x40297a
mov eax, dword [esp + 0x1c]
push 0xc
mov dword [esp + 0x18], eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
test eax, eax
je 0x402bf2
lea ecx, [esi - 2]
mov dword [eax], 0x9b
mov dword [eax + 4], ecx
mov edx, eax
mov ecx, dword [esp + 0x14]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x24]
call fcn.0040fdd0
mov eax, dword [esp + 0x38]
push 0xc
mov dword [esp + 0x18], eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
test eax, eax
je 0x402bf2
lea ecx, [esi - 1]
mov dword [eax], 0x9b
mov dword [eax + 4], ecx
mov edx, eax
mov ecx, dword [esp + 0x14]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x24]
call fcn.0040fdd0
mov eax, dword [esp + 0x34]
push 0xc
mov dword [esp + 0x18], eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
test eax, eax
je 0x402bf2
mov ecx, dword [esp + 0x14]
mov edx, eax
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax], 0x9b
mov dword [eax + 4], esi
call fcn.0040fdd0
test ebx, ebx
je 0x402988
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
inc edi
add esi, 3
cmp edi, 0x16
jl 0x402880
xor edi, edi
mov dword [esp + 0x10], edi
nop dword [eax + eax]
push edi
lea eax, [esp + 0x54]
push str.Wordness_d
push eax
call fcn.00401020
add esp, 0xc
mov eax, edi
test eax, eax
jns 0x4029bc
add eax, 0x1f
sar eax, 5
push dword [eax*4 + 0x436c30]
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x54]
call fcn.004010a0
mov ecx, eax
add esp, 4
lea eax, [edi + 0x20]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
mov esi, ecx
mov ebx, edi
cmp edi, eax
jge 0x402a5e
nop dword [eax + eax]
mov al, byte [esi]
mov edx, esi
test al, al
je 0x402a11
mov cl, al
nop word [eax + eax]
mov al, cl
cmp cl, 0x2c
je 0x402a11
mov al, byte [esi + 1]
inc esi
mov cl, al
test al, al
jne 0x402a00
cmp al, 0x2c
jne 0x402a19
mov byte [esi], 0
inc esi
push edx
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov edi, eax
push 0xc
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
test eax, eax
je 0x402bf2
mov ecx, dword [esp + 0x24]
mov edx, eax
mov dword [eax], 0xa3
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
call fcn.0040fdd0
inc ebx
cmp ebx, dword [esp + 0x1c]
jl 0x4029f0
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x402a6c
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
add edi, 0x20
mov dword [esp + 0x10], edi
cmp edi, 0x100
jl 0x4029a0
mov ebx, dword [esp + 0x24]
mov edx, str.MousePaste
mov esi, dword [esp + 0x18]
mov ecx, esi
push 0xa8
push 0xa5
push ebx
push 2
call fcn.00401850
push 0xa9
push 0xa6
push ebx
push 2
mov edx, str.CtrlShiftIns
mov ecx, esi
call fcn.00401850
push 0xaa
push 0xa7
push ebx
push 0
mov edx, str.CtrlShiftCV
mov ecx, esi
call fcn.00401850
push 0xb6
push ebx
mov edx, str.PortForwardings
mov ecx, esi
call fcn.00401260
add esp, 0x38
test esi, esi
je 0x402b29
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 4
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push 0
push str.BugHMAC2
push dword [esi]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x402b29
cmp dword [esp + 0x10], 4
jne 0x402b29
cmp dword [esp + 0x1c], 4
jne 0x402b29
mov edi, dword [esp + 0x14]
jmp 0x402b2b
xor edi, edi
push 0xc
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
test eax, eax
je 0x402c3d
mov esi, 2
mov dword [eax], 0xc6
sub esi, edi
mov edx, eax
mov ecx, ebx
mov dword [eax + 8], esi
call fcn.0040fdd0
cmp esi, 2
jne 0x402bcc
mov edx, dword [esp + 0x18]
test edx, edx
je 0x402bcc
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 4
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push 0
push str.BuggyMAC
push dword [edx]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x402bcc
cmp dword [esp + 0x10], 4
jne 0x402bcc
cmp dword [esp + 0x1c], 4
jne 0x402bcc
cmp dword [esp + 0x14], 1
jne 0x402bcc
push 0xc
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
test eax, eax
je 0x402c42
mov edx, eax
mov dword [eax], 0xc6
mov ecx, ebx
mov dword [eax + 8], 0
call fcn.0040fdd0
mov ecx, dword [esp + 0x18]
mov edx, str.SSHManualHostKeys
push 0x29
push ebx
call fcn.00401260
mov ecx, dword [esp + 0x6c]
add esp, 8
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0043505d
mov esp, ebp
pop ebp
ret
call fcn.00413280
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
call fcn.00413280
call fcn.00413280
call fcn.00413280
call fcn.00413280
call fcn.00413280
call fcn.00413280
call fcn.00413280
call fcn.00413280
call fcn.00413280
call fcn.00413280
call fcn.00413280
call fcn.00413280
call fcn.00413280
call fcn.00413280
call fcn.00413280
nop
cmp dword [eax + eax*2], ebx
add byte [2348826651], ah
sbb al, byte [eax]
mov ch, 0x1c
inc eax
add bl, cl
sbb al, 0x40
add ah, cl
int3