Function at 0x14003e030
Capabilities:
Set socket configuration

Disassembly:
push rbp
push rsi
lea rbp, [rsp - 0x6f8]
sub rsp, 0x7f8
mov rax, qword [0x1401b7030]
xor rax, rsp
mov qword [rbp + 0x6d0], rax
mov rsi, rcx
lea rdx, [rsp + 0x38]
mov rcx, qword [rcx + 0x38]
mov r8d, InitCommonControls
movsxd rax, dword [rcx + 0x4d54]
sub r8d, eax
add rdx, rax
call fcn.140025f70
movzx eax, byte [rsp + 0x39]
add eax, 0xfffffffe
cmp eax, 0xf
ja case.default.0x14003e0c3
mov qword [rsp + 0x818], rbx
lea rdx, [0x140000000]
mov qword [rsp + 0x820], rdi
mov qword [rsp + 0x7f0], r12
mov qword [rsp + 0x7e8], r14
cdqe
mov qword [rsp + 0x7e0], r15
mov ecx, dword [rdx + rax*4 + 0x3eb74]
add rcx, rdx
jmp rcx
movzx ecx, word [rsp + 0x3a]
lea eax, [rcx - 1]
cmp eax, 2
ja case.0x14003e0c3.3
mov dword [rsi + 0xb54], ecx
jmp case.0x14003e0c3.3
movzx ecx, word [rsp + 0x3a]
xor r12d, r12d
sub ecx, 1
je 0x14003e1df
sub ecx, 1
je 0x14003e1fe
cmp ecx, 1
je 0x14003e19e
cmp byte [rsi + 0x8ac], r12b
je case.0x14003e0c3.3
mov rcx, qword [rsi + 0x40]
mov edx, 0x427
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, qword [rsi + 0x40]
mov edx, 0x428
mov rdi, rax
call qword [sym.imp.USER32.dll_GetDlgItem]
mov r8d, dword [rsi + 0x8a8]
lea r9, [0x1401bc1f0]
lea rdx, str.____d__s
mov rbx, rax
lea rcx, [rsp + 0x50]
call fcn.14003c430
mov rcx, qword [rsi + 0x40]
lea r8, [rsp + 0x50]
mov edx, 0x431
call qword [sym.imp.USER32.dll_SetDlgItemTextA]
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.14003f670
mov rdx, qword [rsi + 0x40]
mov rcx, rsi
mov byte [rsi + 0x8ac], r12b
call fcn.140047570
mov rdx, qword [rsi + 0x40]
mov rcx, rsi
call fcn.140047440
mov byte [rsi + 0x70], r12b
jmp case.0x14003e0c3.3
mov ecx, dword [rsp + 0x40]
mov r8d, ecx
mov rdx, qword [rsi + 0x40]
mov eax, ecx
shr eax, 0x10
and r8d, 0xff0000
or r8d, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr r8d, 8
shl eax, 8
mov rcx, rsi
or r8d, eax
call fcn.140040580
mov byte [rsi + 0x70], r12b
jmp case.0x14003e0c3.3
cmp dword [rsi + 0xb84], 1
jne 0x14003e1fe
lea rdx, str.Folder_unzipped.
mov rcx, rsi
call fcn.140040ed0
mov dword [rsi + 0xb84], r12d
mov ecx, dword [rsp + 0x40]
mov ebx, ecx
and ebx, 0xff0000
mov eax, ecx
shr eax, 0x10
or ebx, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr ebx, 8
shl eax, 8
cmp byte [rsi + 0x8ac], r12b
jne 0x14003e30a
or ebx, eax
mov rdi, qword [rsi + 0x40]
jne 0x14003e261
lea rdx, [0x1401bc680]
lea rcx, [rsp + 0x50]
call fcn.14003c430
lea r8, [rsp + 0x50]
mov edx, 0x431
mov rcx, rdi
call qword [sym.imp.USER32.dll_SetDlgItemTextA]
jmp case.0x14003e0c3.3
cmp ebx, 1
jbe 0x14003e2bf
cmp dword [rsi + 0xb54], 1
je 0x14003e2bf
lea eax, [rbx + 1]
cmp eax, 0x104
ja case.0x14003e0c3.3
mov rcx, qword [rsi + 0x38]
lea rdx, [rbp - 0x30]
mov r8d, ebx
call fcn.140025f70
mov r9d, ebx
mov byte [rbp + rbx - 0x30], r12b
lea r8, str.Read_a__d_byte_string_n
mov edx, 0xa
lea rcx, vtable.Log.0
call fcn.1400155a0
lea r8, [rbp - 0x30]
mov edx, 0x411
mov rcx, rdi
call qword [sym.imp.USER32.dll_SetDlgItemTextA]
lea rdx, [0x1401bbeb0]
lea rcx, [rsp + 0x50]
call fcn.14003c430
lea r8, [rsp + 0x50]
mov edx, 0x431
mov rcx, rdi
call qword [sym.imp.USER32.dll_SetDlgItemTextA]
lea rcx, [rsi + 0x768]
xor edx, edx
mov r8d, 0x140
call fcn.1401216a0
mov dword [rsi + 0x8a8], r12d
mov byte [rsi + 0x8ac], 1
jmp 0x14003e3b6
mov r15, qword [rsi + 0x40]
or ebx, eax
lea eax, [rbx + 1]
cmp eax, 0x144
ja case.0x14003e0c3.3
test ebx, ebx
je 0x14003e335
mov rcx, qword [rsi + 0x38]
lea rdx, [rsi + 0x8ad]
mov r8d, ebx
call fcn.140025f70
mov r9d, ebx
mov byte [rbx + rsi + 0x8ad], r12b
lea r8, str.Read_a__d_byte_string_n
mov edx, 0xa
lea rcx, vtable.Log.0
call fcn.1400155a0
xor edx, edx
lea rcx, [rsi + 0x768]
mov r8d, 0x140
call fcn.1401216a0
mov r8d, ebx
lea rdx, [rsi + 0x8ad]
lea rcx, [rsi + 0x768]
call fcn.140121290
lea r9, [rsi + 0x768]
mov r8d, 0x428
mov rdx, r15
call fcn.14003f430
inc dword [rsi + 0x8a8]
mov rcx, r15
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14003dfb0
test al, al
je case.0x14003e0c3.3
cmp dword [rsi + 0xb54], 1
jne case.0x14003e0c3.3
mov rax, qword [rsi + 0x38]
cmp byte [rax + 0x4d60], r12b
je case.0x14003e0c3.3
cmp byte [rax + 0x4d61], r12b
jne case.0x14003e0c3.3
mov rcx, rsi
mov dword [rax + 0x4d54], r12d
call fcn.14003e030
jmp case.0x14003e0c3.3
cmp byte [rsi + 0xb88], 0
je case.0x14003e0c3.3
mov ecx, dword [rsp + 0x40]
lea rdx, str.File__d__d
inc dword [rsi + 0x6c]
mov edi, ecx
mov r9d, dword [rsi + 0x68]
mov eax, ecx
mov r8d, dword [rsi + 0x6c]
and edi, 0xff0000
shr eax, 0x10
or edi, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr edi, 8
mov ecx, dword [rsp + 0x3c]
mov ebx, ecx
shl eax, 8
and ebx, 0xff0000
or edi, eax
mov eax, ecx
shr eax, 0x10
or ebx, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr ebx, 8
shl eax, 8
lea rcx, [rsp + 0x50]
or ebx, eax
call fcn.14003c490
mov rcx, qword [rsi + 0x40]
lea r8, [rsp + 0x50]
mov edx, 0x433
call qword [sym.imp.USER32.dll_SetDlgItemTextA]
mov r8d, edi
mov edx, ebx
mov rcx, rsi
call fcn.1400412c0
test al, al
jne 0x14003e499
mov rcx, rsi
call fcn.14003eda0
mov byte [rsi + 0xb88], 0
jmp case.0x14003e0c3.3
mov ecx, dword [rsp + 0x40]
mov edi, ecx
mov eax, ecx
and edi, 0xff0000
shr eax, 0x10
or edi, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr edi, 8
shl eax, 8
or edi, eax
lea eax, [rdi + 1]
mov ecx, eax
mov ebx, eax
call fcn.14011c740
mov r8d, ebx
mov qword [rsi + 0x758], rax
xor edx, edx
mov rcx, rax
call fcn.1401216a0
mov rdx, qword [rsi + 0x758]
mov r8d, edi
mov rcx, qword [rsi + 0x38]
call fcn.140025f70
mov rcx, qword [rsi + 0x38]
lea r9, [rsp + 0x30]
mov dword [rsi + 0x764], edi
mov r8d, 0x1006
mov dword [rsp + 0x20], 4
mov rax, qword [rcx + 0xd748]
mov rcx, qword [rcx + 0x748]
imul edx, dword [rax + 0x7f8], 0x3e8
mov dword [rsp + 0x30], edx
mov edx, 0xffff
call qword [sym.imp.WS2_32.dll_setsockopt]
jmp case.0x14003e0c3.3
cmp byte [rsi + 0xb89], 0
je case.0x14003e0c3.3
mov ecx, dword [rsp + 0x40]
mov r8d, ecx
mov eax, ecx
and r8d, 0xff0000
shr eax, 0x10
or r8d, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr r8d, 8
mov ecx, dword [rsp + 0x3c]
mov edx, ecx
shl eax, 8
and edx, 0xff0000
or r8d, eax
mov eax, ecx
shr eax, 0x10
or edx, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr edx, 8
shl eax, 8
mov rcx, rsi
or edx, eax
call fcn.14003eff0
mov byte [rsi + 0xb89], 0
jmp case.0x14003e0c3.3
movzx ecx, word [rsp + 0x3a]
sub ecx, 4
je 0x14003e8a0
sub ecx, 3
je 0x14003e78a
cmp ecx, 1
jne case.0x14003e0c3.3
mov ecx, dword [rsp + 0x40]
mov edi, ecx
mov eax, ecx
and edi, 0xff0000
shr eax, 0x10
or edi, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr edi, 8
mov ecx, dword [rsp + 0x3c]
mov r15d, ecx
shl eax, 8
and r15d, 0xff0000
or edi, eax
mov eax, ecx
shr eax, 0x10
or r15d, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr r15d, 8
shl eax, 8
or r15d, eax
lea eax, [rdi - 1]
cmp eax, 0x207
ja 0x14003e9e6
lea eax, [rdi + 1]
mov ecx, eax
mov ebx, eax
call fcn.14011c740
mov r8d, ebx
xor edx, edx
mov rcx, rax
mov r14, rax
call fcn.1401216a0
mov rcx, qword [rsi + 0x38]
mov r8d, edi
mov rdx, r14
call fcn.140025f70
mov edx, 0x2a
mov byte [rdi + r14], 0
mov rcx, r14
call fcn.14012f358
mov rbx, rax
test rax, rax
jne 0x14003e6cf
lea r9, str.selected_file
lea rcx, [rbp + 0x1e0]
lea rax, [0x1401bd000]
lea rdx, str.__s____s____s
mov qword [rsp + 0x20], rax
lea r8, [0x1401bc370]
call fcn.1400481e0
lea rdx, [rbp + 0x1e0]
mov rcx, rsi
call fcn.140040ed0
mov rcx, r14
call fcn.14011c3a0
mov byte [rsi + 0x70], 0
jmp case.0x14003e0c3.3
lea r8, [rax + 1]
mov edx, 0x209
lea rcx, [rbp + 0x4c0]
call fcn.14012524c
mov r8, r14
mov byte [rbx], 0
mov edx, 0x209
lea rcx, [rbp - 0x30]
call fcn.14012524c
lea r9, [rbp - 0x30]
lea rcx, [rbp + 0x1e0]
cmp r15d, 0xffffffff
je 0x14003e690
lea rax, [rbp + 0x4c0]
mov qword [rsp + 0x28], rax
lea r8, [0x1401bcdc0]
lea rax, [0x1401bcac0]
lea rdx, str.__s____s____s____s__
mov qword [rsp + 0x20], rax
call fcn.1400481e0
lea rdx, [rbp + 0x1e0]
mov rcx, rsi
call fcn.140040ed0
mov rcx, qword [rsi + 0x40]
mov edx, 0x428
call qword [sym.imp.USER32.dll_GetDlgItem]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
mov edx, 0x1009
call qword [sym.imp.USER32.dll_SendMessageA]
mov rdx, qword [rsi + 0x40]
lea r8, [0x14019945a]
mov rcx, rsi
call fcn.140040030
mov rcx, r14
call fcn.14011c3a0
mov byte [rsi + 0x70], 0
jmp case.0x14003e0c3.3
mov ecx, dword [rsp + 0x40]
mov r14d, ecx
mov eax, ecx
and r14d, 0xff0000
shr eax, 0x10
or r14d, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr r14d, 8
mov ecx, dword [rsp + 0x3c]
mov r15d, ecx
shl eax, 8
and r15d, 0xff0000
or r14d, eax
mov eax, ecx
shr eax, 0x10
or r15d, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr r15d, 8
shl eax, 8
lea r12d, [r14 + 1]
mov ecx, r12d
or r15d, eax
call fcn.14011c740
mov r8d, r12d
xor edx, edx
mov rcx, rax
mov rdi, rax
call fcn.1401216a0
mov rcx, qword [rsi + 0x38]
mov r8d, r14d
mov rdx, rdi
call fcn.140025f70
cmp r14d, 0x104
jbe 0x14003e81f
mov byte [rdi + 0x104], 0
jmp 0x14003e824
mov byte [r14 + rdi], 0
mov r8d, r12d
mov rdx, rdi
call fcn.140043390
lea rdx, str._s____s____s
mov r9, rdi
cmp r15d, 0xffffffff
jne 0x14003e85c
lea rcx, [0x1401bbef0]
test al, al
lea r8, [0x1401bc0b0]
cmovne r8, rcx
lea rcx, [rbp - 0x30]
jmp 0x14003e956
test al, al
lea rcx, [0x1401bc2f0]
lea rax, [0x1401bc070]
lea r8, [0x1401bcbc0]
mov qword [rsp + 0x20], rax
cmovne r8, rcx
lea rcx, [rbp - 0x30]
call fcn.140048000
lea rdx, [rbp - 0x30]
mov rcx, rsi
call fcn.140040ed0
sub dword [rsi + 0x4c], 1
jne 0x14003e9de
jmp 0x14003e9a8
mov ecx, dword [rsp + 0x40]
mov r14d, ecx
mov eax, ecx
and r14d, 0xff0000
shr eax, 0x10
or r14d, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr r14d, 8
mov ecx, dword [rsp + 0x3c]
mov r15d, ecx
shl eax, 8
and r15d, 0xff0000
or r14d, eax
mov eax, ecx
shr eax, 0x10
or r15d, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr r15d, 8
shl eax, 8
or r15d, eax
lea eax, [r14 + 1]
mov ecx, eax
mov ebx, eax
call fcn.14011c740
mov r8d, ebx
xor edx, edx
mov rcx, rax
mov rdi, rax
call fcn.1401216a0
mov rcx, qword [rsi + 0x38]
mov r8d, r14d
mov rdx, rdi
call fcn.140025f70
cmp r14d, 0x104
jbe 0x14003e936
mov byte [rdi + 0x104], 0
jmp 0x14003e93b
mov byte [r14 + rdi], 0
lea rdx, str._s____s____s
mov r9, rdi
lea rcx, [rbp - 0x30]
cmp r15d, 0xffffffff
jne 0x14003e984
lea r8, [0x1401bd240]
lea rax, [0x1401bd000]
mov qword [rsp + 0x20], rax
call fcn.140048000
lea rdx, [rbp - 0x30]
mov rcx, rsi
call fcn.140040ed0
mov rcx, rdi
call fcn.14011c3a0
mov byte [rsi + 0x70], 0
jmp case.0x14003e0c3.3
lea rax, [0x1401bc880]
lea r8, [0x1401bc2f0]
mov qword [rsp + 0x20], rax
call fcn.140048000
lea rdx, [rbp - 0x30]
mov rcx, rsi
call fcn.140040ed0
mov rcx, qword [rsi + 0x40]
mov edx, 0x428
call qword [sym.imp.USER32.dll_GetDlgItem]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
mov edx, 0x1009
call qword [sym.imp.USER32.dll_SendMessageA]
mov rdx, qword [rsi + 0x40]
lea r8, [0x14019945a]
mov rcx, rsi
call fcn.140040030
mov rcx, rdi
call fcn.14011c3a0
mov byte [rsi + 0x70], 0
jmp case.0x14003e0c3.3
mov rcx, qword [rsi + 0x38]
lea r9, [rsp + 0x30]
mov r8d, 0x1006
mov dword [rsp + 0x20], 4
mov rax, qword [rcx + 0xd748]
mov rcx, qword [rcx + 0x748]
imul edx, dword [rax + 0x7f8], 0x3e8
mov dword [rsp + 0x30], edx
mov edx, 0xffff
call qword [sym.imp.WS2_32.dll_setsockopt]
mov ecx, dword [rsp + 0x3c]
mov r8d, ecx
mov eax, ecx
and r8d, 0xff0000
shr eax, 0x10
or r8d, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr r8d, 8
mov ecx, dword [rsp + 0x40]
mov edx, ecx
shl eax, 8
and edx, 0xff0000
or r8d, eax
mov eax, ecx
shr eax, 0x10
or edx, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr edx, 8
shl eax, 8
mov rcx, rsi
or edx, eax
call fcn.140041bc0
mov rcx, qword [rsi + 0x38]
mov rax, qword [rcx + 0xd748]
cmp dword [rax + 0x7fc], 0
jle case.0x14003e0c3.3
mov rcx, qword [rcx + 0x12b8]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8007
call qword [sym.imp.USER32.dll_PostMessageA]
jmp case.0x14003e0c3.3
cmp byte [rsi + 0xb3d], 0
je 0x14003ead4
mov byte [rsi + 0xb3e], 1
mov rcx, rsi
call fcn.140041e50
jmp case.0x14003e0c3.3
mov rcx, qword [rsi + 0x40]
mov edx, 0x476
mov dword [rsi + 0xb54], 1
mov dword [rsi + 0xb58], 0x1000
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [rsp + 0x3c]
mov eax, ecx
shr eax, 0x10
mov edx, ecx
and edx, 0xff0000
or edx, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr edx, 8
shl eax, 8
mov rcx, rsi
or edx, eax
call fcn.14003ec20
mov r14, qword [rsp + 0x7e8]
mov r12, qword [rsp + 0x7f0]
mov rdi, qword [rsp + 0x820]
mov rbx, qword [rsp + 0x818]
mov r15, qword [rsp + 0x7e0]
mov rcx, qword [rbp + 0x6d0]
xor rcx, rsp
call fcn.14011c340
add rsp, 0x7f8
pop rsi
pop rbp
ret