Function at 0x41c900
Capabilities:
Resolve dns
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov ebp, dword [0x4908c4]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x84]
movzx edi, si
test ebp, ebp
jne 0x41c965
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ebx
mov edx, edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
call fcn.0041bba0
mov ebp, eax
mov eax, dword [0x4908d4]
test ebp, ebp
jne 0x41cc82
test eax, eax
jne 0x41ca84
add esp, 0x5c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x80]
mov dword [esp + 0x10], 0
mov dword [eax], 0
test ebx, ebx
je 0x41cd00
mov eax, dword [esp + 0x78]
mov dword [ebx], 0
lea ebp, [esp + 0x30]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], 2
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.0041ba50
test eax, eax
je 0x41c9e1
or dword [esp + 0x30], 4
test si, si
jne 0x41cc50
mov byte [esp + 0x1b], 0
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
lea esi, [esp + 0x10]
mov dword [esp + 0xc], esi
mov edi, dword [sym.imp.WS2_32.dll_getaddrinfo]
mov dword [esp + 8], ebp
mov dword [esp], eax
call edi
sub esp, 0x10
test eax, eax
je 0x41cb73
mov dword [esp + 0x10], 0
cmp eax, 0x277d
je 0x41ce10
jle 0x41cab0
cmp eax, 0x2afa
je 0x41cd40
jle 0x41caf5
mov ebp, 0xa0000db
cmp eax, 0x2afb
je 0x41ca63
cmp eax, 0x2afc
mov ebp, 0xa00003a
mov eax, 0xa003ffe
cmovne ebp, eax
test ebx, ebx
je 0x41ca77
mov eax, dword [ebx]
mov dword [esp], eax
call sub.libgcrypt_20.dll_gcry_free
mov dword [ebx], 0
mov eax, dword [0x4908d4]
test eax, eax
je 0x41c95b
mov dword [esp], ebp
call sub.libgpg_error_0.dll_gpg_strerror
mov dword [esp], str.dns:_resolve_dns_name__s_:__s_n
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
call fcn.0044ddd0
add esp, 0x5c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebp, 0xa000048
cmp eax, 0x2726
je 0x41ca63
jle 0x41cae0
mov ebp, 0xa00807d
cmp eax, 0x273c
je 0x41ca63
cmp eax, 0x273f
mov ebp, 0xa008005
mov eax, 0xa003ffe
cmovne ebp, eax
jmp 0x41ca63
cmp eax, 8
mov ebp, 0xa008056
mov eax, 0xa003ffe
cmovne ebp, eax
jmp 0x41ca63
cmp eax, 0x2af9
jne 0x41ce00
mov ecx, dword [0x4908c4]
mov dword [esp + 0x14], 0
test ecx, ecx
je 0x41cd50
mov esi, dword [0x4908d4]
mov ebp, 0xa0000dc
test esi, esi
je 0x41ca63
mov dword [esp], 0xa000045
call sub.libgpg_error_0.dll_gpg_strerror
mov dword [esp + 8], 0x48116f
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x70]
mov dword [esp], str.get_dns_cname__s__s_s_n
mov dword [esp + 4], eax
call fcn.0044ddd0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x41cb69
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
sub esp, 4
mov ebp, 0xa0000dc
jmp 0x41ca63
mov edi, dword [esp + 0x10]
test ebx, ebx
je 0x41cba2
test edi, edi
je 0x41cd30
mov eax, dword [edi + 0x14]
test eax, eax
je 0x41cbaa
mov dword [esp], eax
call sub.libgcrypt_20.dll_gcry_strdup
mov ebp, eax
mov dword [ebx], eax
test eax, eax
je 0x41ce74
mov edi, dword [esp + 0x10]
test edi, edi
je 0x41cd30
xor ebp, ebp
lea esi, [esi]
mov eax, dword [edi + 4]
cmp eax, 0x17
je 0x41cbbd
cmp eax, 2
jne 0x41cc1b
mov ecx, dword [0x4908cc]
test ecx, ecx
je 0x41cbcc
cmp eax, 2
je 0x41cc1b
mov edx, dword [0x4908c8]
test edx, edx
je 0x41cbdb
cmp eax, 0x17
je 0x41cc1b
mov dword [esp], 0x98
call sub.libgcrypt_20.dll_gcry_malloc
mov ecx, dword [edi + 0x18]
mov ebx, eax
mov eax, dword [edi + 4]
lea edx, [ebx + 0x18]
mov dword [ebx + 4], eax
mov eax, dword [edi + 8]
mov dword [ebx + 8], eax
mov eax, dword [edi + 0xc]
mov dword [ebx + 0xc], eax
mov eax, dword [edi + 0x10]
mov dword [ebx + 0x10], eax
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call sub.msvcrt.dll_memcpy
mov dword [ebx], ebp
mov ebp, ebx
mov edi, dword [edi + 0x1c]
test edi, edi
jne 0x41cbb0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x41cc36
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
sub esp, 4
mov eax, dword [esp + 0x80]
mov dword [eax], ebp
xor ebp, ebp
mov eax, dword [0x4908d4]
jmp 0x41ca7c
mov dword [esp + 0xc], edi
lea edi, [esp + 0x1b]
mov dword [esp + 8], 0x481104
mov dword [esp + 4], 0x15
mov dword [esp], edi
call sub.libgpg_error_0.dll_gpgrt_snprintf
cmp byte [esp + 0x1b], 0
mov eax, 0
cmovne eax, edi
jmp 0x41c9f1
mov esi, dword [0x4908bc]
test esi, esi
je 0x41c953
cmp bp, 0x8019
jne 0x41c953
cmp dword [0x490828], 0x235a
jne 0x41c953
test eax, eax
jne 0x41cf10
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ebx
mov edx, edi
mov dword [0x490828], 0x23be
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [0x49082c], 1
mov dword [esp], eax
mov eax, dword [esp + 0x70]
call fcn.0041bba0
mov ebp, eax
mov eax, dword [0x4908d4]
jmp 0x41c953
lea ebp, [esp + 0x30]
xor ecx, ecx
xor eax, eax
mov dword [ebp + eax], ecx
add eax, 4
cmp eax, 0x20
jb 0x41cd08
mov eax, dword [esp + 0x78]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x38], eax
jmp 0x41c9cc
xor ebp, ebp
jmp 0x41cc36
mov ebp, 0xa008006
jmp 0x41ca63
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x14]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0041c780
lea ecx, [esp + 0x14]
test eax, eax
jne 0x41cea7
cmp byte [esp + 0x1b], 0
lea eax, [esp + 0x1b]
mov ecx, 0
mov dword [esp + 0xc], esi
cmove eax, ecx
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call edi
sub esp, 0x10
mov edi, eax
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call sub.libgcrypt_20.dll_gcry_free
test edi, edi
je 0x41cb73
mov dword [esp + 0x10], 0
cmp edi, 0x277d
je 0x41ce10
jg 0x41ce1a
mov ebp, 0xa000048
cmp edi, 0x2726
je 0x41ca63
jle 0x41ce51
mov ebp, 0xa00807d
cmp edi, 0x273c
je 0x41ca63
mov ebp, 0xa008005
cmp edi, 0x273f
je 0x41ca63
lea esi, [esi]
lea esi, [esi]
mov ebp, 0xa003ffe
jmp 0x41ca63
mov ebp, 0xa00003c
jmp 0x41ca63
mov ebp, 0xa008006
cmp edi, 0x2afa
je 0x41ca63
jle 0x41ce61
mov ebp, 0xa0000db
cmp edi, 0x2afb
je 0x41ca63
mov ebp, 0xa00003a
cmp edi, 0x2afc
je 0x41ca63
jmp 0x41ce00
mov ebp, 0xa008056
cmp edi, 8
je 0x41ca63
jmp 0x41ce00
mov ebp, 0xa0000dc
cmp edi, 0x2af9
je 0x41ca63
jmp 0x41ce00
call sub.libgpg_error_0.dll_gpg_err_code_from_syserror
test eax, eax
je 0x41cc22
movzx ebp, ax
mov eax, dword [esp + 0x10]
or ebp, 0xa000000
test eax, eax
je 0x41ca67
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
sub esp, 4
jmp 0x41ca67
mov edx, dword [0x4908bc]
test edx, edx
je 0x41cb55
cmp ax, 0x8019
jne 0x41cb55
cmp dword [0x490828], 0x235a
jne 0x41cb55
cmp dword [0x4908d4], 0
jne 0x41cf31
mov eax, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [0x490828], 0x23be
mov dword [esp], eax
mov dword [0x49082c], 1
call fcn.0041c780
test eax, eax
je 0x41cd70
jmp 0x41cb55
mov dword [esp + 8], 0x23be
mov dword [esp + 4], 0x235a
mov dword [esp], str.dns:_switching_from_SOCKS_port__d_to__d_n
call fcn.0044ddd0
jmp 0x41ccb3
mov dword [esp + 8], 0x23be
mov dword [esp + 4], 0x235a
mov dword [esp], str.dns:_switching_from_SOCKS_port__d_to__d_n
call fcn.0044ddd0
lea ecx, [esp + 0x14]
jmp 0x41ced8