Function at 0x402220
Capabilities:
Create thread
Read file on windows

Disassembly:
sub esp, 0x30
push ebx
push ebp
push esi
push edi
xor edi, edi
push 0x1fffe
mov dword [esp + 0x2c], 0x1fffe
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
call fcn.00415de0
mov esi, eax
add esp, 4
cmp esi, edi
mov dword [esp + 0x1c], esi
je 0x404f79
push 0x4001
call fcn.00415de0
add esp, 4
cmp eax, edi
mov dword [esp + 0x24], eax
je 0x404f79
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x44]
push eax
push 0xffff
push esi
mov dword [0x42a794], 1
call fcn.00415d7e
add esp, 0xc
test eax, eax
je 0x404c05
mov ebp, str.__n___no_NTLM_support_n
mov ebx, 0x421208
jmp 0x4022b0
mov ebx, 0x421208
mov ebp, str.__n___no_NTLM_support_n
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx]
test al, al
je 0x404bd9
cmp dword [0x427b7c], 1
jle 0x4022d9
and eax, 0xff
push 8
push eax
call fcn.00415d09
add esp, 8
jmp 0x4022ea
mov edx, dword [str.________________________________H]
and eax, 0xff
mov al, byte [edx + eax*2]
and eax, 8
test eax, eax
jne 0x404bd9
mov eax, dword [esp + 0x1c]
cmp byte [eax], 0x23
je 0x404bd9
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x28]
lea eax, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x28]
push eax
push edx
push 0xfff
push ecx
push edx
call fcn.004015e0
add esp, 0x18
cmp eax, 1
mov dword [esp + 0x10], eax
jl 0x404c26
mov edx, dword [esp + 0x3c]
lea edi, [eax*4]
mov esi, str.proxy
mov dword [edx + edi], 0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x402380
test cl, cl
je 0x40237c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x402380
add eax, 2
add esi, 2
test cl, cl
jne 0x40235c
xor eax, eax
jmp 0x402385
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4023b6
mov dword [0x426038], 0x40a0c0
mov word [0x42603c], 0xc38
mov dword [0x426040], eax
mov dword [0x426044], 1
mov dword [0x426048], ebp
jmp 0x402671
mov eax, dword [esp + 0x3c]
mov esi, str.pop3p
mov eax, dword [eax]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4023e5
test cl, cl
je 0x4023e1
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4023e5
add eax, 2
add esi, 2
test cl, cl
jne 0x4023c1
xor eax, eax
jmp 0x4023ea
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40241b
mov dword [0x426038], 0x40c310
mov word [0x42603c], 0x6e
mov dword [0x426040], eax
mov dword [0x426044], 3
mov dword [0x426048], ebx
jmp 0x402671
mov eax, dword [esp + 0x3c]
mov esi, str.ftppr
mov eax, dword [eax]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40244a
test cl, cl
je 0x402446
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40244a
add eax, 2
add esi, 2
test cl, cl
jne 0x402426
xor eax, eax
jmp 0x40244f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402480
mov dword [0x426038], 0x40c6c0
mov word [0x42603c], 0x15
mov dword [0x426040], eax
mov dword [0x426044], 0xb
mov dword [0x426048], ebx
jmp 0x402671
mov eax, dword [esp + 0x3c]
mov esi, str.socks
mov eax, dword [eax]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4024af
test cl, cl
je 0x4024ab
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4024af
add eax, 2
add esi, 2
test cl, cl
jne 0x40248b
xor eax, eax
jmp 0x4024b4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4024e5
mov dword [0x426038], 0x40d280
mov word [0x42603c], 0x438
mov dword [0x426040], eax
mov dword [0x426044], 7
mov dword [0x426048], ebp
jmp 0x402671
mov eax, dword [esp + 0x3c]
mov esi, str.tcppm
mov eax, dword [eax]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x402516
test cl, cl
je 0x402510
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x402516
add eax, 2
add esi, 2
test cl, cl
jne 0x4024f0
xor ebp, ebp
xor eax, eax
jmp 0x40251d
sbb eax, eax
sbb eax, 0xffffffff
xor ebp, ebp
cmp eax, ebp
jne 0x40254d
mov dword [0x426038], 0x40e050
mov word [0x42603c], bp
mov dword [0x426040], ebp
mov dword [0x426044], 2
mov dword [0x426048], ebx
jmp 0x402671
mov edx, dword [esp + 0x3c]
mov esi, str.udppm
mov eax, dword [edx]
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x40257c
test cl, cl
je 0x402578
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x40257c
add eax, 2
add esi, 2
test cl, cl
jne 0x402558
xor eax, eax
jmp 0x402581
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x4025b9
mov dword [0x426038], 0x40e0b0
mov word [0x42603c], bp
mov dword [0x426040], 1
mov dword [0x426044], 6
mov dword [0x426048], 0x4219f4
jmp 0x402671
mov eax, dword [edx]
mov esi, str.admin
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x4025e4
test cl, cl
je 0x4025e0
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x4025e4
add eax, 2
add esi, 2
test cl, cl
jne 0x4025c0
xor eax, eax
jmp 0x4025e9
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x402612
mov dword [0x426038], 0x4134c0
mov word [0x42603c], 0x50
mov dword [0x426040], ebp
mov dword [0x426044], 9
jmp 0x402671
mov eax, dword [edx]
mov esi, str.dnspr
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x40263d
test cl, cl
je 0x402639
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x40263d
add eax, 2
add esi, 2
test cl, cl
jne 0x402619
xor eax, eax
jmp 0x402642
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x4026cf
mov dword [0x426038], 0x4144f0
mov word [0x42603c], 0x35
mov dword [0x426040], 1
mov dword [0x426044], 0xa
lea eax, [esp + 0x34]
lea ecx, [esp + 0x38]
push eax
push 0
push ecx
push 0x4015b0
push 0
push 0
mov dword [0x426e94], 1
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x4026a1
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x426e94]
test eax, eax
je 0x4026bd
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 1
call esi
mov eax, dword [0x426e94]
test eax, eax
jne 0x4026b0
mov eax, dword [0x42a790]
test eax, eax
jne 0x404c4c
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.internal
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x4026fa
test cl, cl
je 0x4026f6
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x4026fa
add eax, 2
add esi, 2
test cl, cl
jne 0x4026d6
xor eax, eax
jmp 0x4026ff
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x402720
cmp dword [esp + 0x10], 2
jne 0x402720
mov edx, dword [edx + 4]
push edx
call fcn.00410170
add esp, 4
mov dword [0x426ecc], eax
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.external
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x40274b
test cl, cl
je 0x402747
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x40274b
add eax, 2
add esi, 2
test cl, cl
jne 0x402727
xor eax, eax
jmp 0x402750
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x402771
cmp dword [esp + 0x10], 2
jne 0x402771
mov eax, dword [edx + 4]
push eax
call fcn.00410170
add esp, 4
mov dword [0x426ed0], eax
jmp 0x404bd9
mov eax, dword [edx]
mov esi, 0x4219c8
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x40279c
test cl, cl
je 0x402798
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x40279c
add eax, 2
add esi, 2
test cl, cl
jne 0x402778
xor eax, eax
jmp 0x4027a1
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x402902
mov ecx, dword [esp + 0x10]
cmp ecx, 3
jg 0x402902
cmp ecx, 1
mov dword [0x426ee8], 0x40fd10
jle 0x404bd9
mov eax, dword [edx + 4]
mov al, byte [eax]
cmp al, 0x40
je 0x404bd9
cmp al, 0x26
jne 0x402815
push 0x42ad40
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.00408960
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 4]
inc edx
push edx
call fcn.004089c0
add esp, 4
push 0x42ad40
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [0x426ee8], 0x408c10
jmp 0x404bd9
cmp ecx, 2
jle case.0x402833.73
mov eax, dword [edx + 8]
xor ecx, ecx
mov cl, byte [eax]
mov eax, ecx
add eax, 0xffffffbd
cmp eax, 0x36
ja case.0x402833.73
xor edx, edx
mov dl, byte [eax + 0x404fb4]
jmp dword [edx*4 + 0x404f98]
mov dword [0x426eb0], 3
jmp case.0x402833.73
mov dword [0x426eb0], 4
jmp case.0x402833.73
mov dword [0x426eb0], 6
jmp case.0x402833.73
mov dword [0x426eb0], 5
jmp case.0x402833.73
mov dword [0x426eb0], 2
jmp case.0x402833.73
mov dword [0x426eb0], 1
push ebp
call fcn.004159a3
mov dword [0x42a7a4], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 4]
push ecx
call fcn.0041f827
mov edx, dword [0x42a7a4]
mov ecx, dword [0x426eb0]
add esp, 8
mov dword [0x426ea8], eax
push 0x4212e0
push edx
push ecx
push ebp
push eax
push 0x42ad80
call fcn.00401910
add esp, 0x14
push eax
call fcn.00414be1
add esp, 8
cmp eax, ebp
jne 0x4028e1
push str.fopen__
call fcn.00414dbe
add esp, 4
jmp 0x404bd9
mov ecx, dword [0x42ac18]
mov dword [0x42ac18], eax
cmp ecx, ebp
je 0x404bd9
push ecx
call fcn.00414d41
add esp, 4
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.service
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x40292d
test cl, cl
je 0x402929
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x40292d
add eax, 2
add esi, 2
test cl, cl
jne 0x402909
xor eax, eax
jmp 0x402932
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
mov ebp, 1
jne 0x402955
cmp dword [esp + 0x10], ebp
jne 0x402955
cmp dword [0x42acb0], 2
jne 0x40298f
mov dword [0x42a7b4], ebp
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.daemon
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x402980
test cl, cl
je 0x40297c
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x402980
add eax, 2
add esi, 2
test cl, cl
jne 0x40295c
xor eax, eax
jmp 0x402985
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4029a9
cmp dword [esp + 0x10], ebp
jne 0x4029a9
mov eax, dword [0x42a7f8]
test eax, eax
jne 0x40299e
call dword [sym.imp.KERNEL32.dll_FreeConsole]
mov dword [0x42a7f8], ebp
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.writable
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x4029d4
test cl, cl
je 0x4029d0
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x4029d4
add eax, 2
add esi, 2
test cl, cl
jne 0x4029b0
xor eax, eax
jmp 0x4029d9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402a1a
cmp dword [esp + 0x10], ebp
jne 0x402a1a
mov eax, dword [0x42ac58]
test eax, eax
jne 0x404bd9
mov edx, dword [esp + 0x44]
mov eax, dword [0x42a7b0]
push edx
push 0x4219a0
push eax
call fcn.00415cc2
add esp, 0xc
mov dword [0x42ac58], eax
test eax, eax
je 0x404c71
jmp 0x404bd9
mov eax, dword [edx]
mov esi, 0x42199c
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x402a45
test cl, cl
je 0x402a41
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x402a45
add eax, 2
add esi, 2
test cl, cl
jne 0x402a21
xor eax, eax
jmp 0x402a4a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402a5d
cmp dword [esp + 0x10], ebp
je 0x404c05
mov ebp, 1
mov eax, dword [edx]
mov esi, str.config
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x402a88
test cl, cl
je 0x402a84
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x402a88
add eax, 2
add esi, 2
test cl, cl
jne 0x402a64
xor eax, eax
jmp 0x402a8d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402ac4
cmp dword [esp + 0x10], 2
jne 0x402ac4
mov eax, dword [0x42a7a0]
test eax, eax
je 0x402aae
push eax
call fcn.00414c58
mov edx, dword [esp + 0x40]
add esp, 4
mov ecx, dword [edx + 4]
push ecx
call fcn.0041f827
add esp, 4
mov dword [0x42a7a0], eax
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.include
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x402aef
test cl, cl
je 0x402aeb
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x402aef
add eax, 2
add esi, 2
test cl, cl
jne 0x402acb
xor eax, eax
jmp 0x402af4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402b38
cmp dword [esp + 0x10], 2
jne 0x402b38
mov edx, dword [edx + 4]
push 0x42120c
push edx
call fcn.00414be1
mov esi, eax
add esp, 8
test esi, esi
je 0x404c7f
push esi
call fcn.00402220
push esi
mov edi, eax
call fcn.00414d41
add esp, 8
test edi, edi
jne 0x404ca6
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.archiver
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x402b63
test cl, cl
je 0x402b5f
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x402b63
add eax, 2
add esi, 2
test cl, cl
jne 0x402b3f
xor eax, eax
jmp 0x402b68
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402bc4
cmp dword [esp + 0x10], 2
jle 0x402bc4
push edi
call fcn.00415de0
add esp, 4
mov dword [0x426eac], eax
test eax, eax
je 0x404bd9
mov eax, dword [esp + 0x38]
xor esi, esi
test eax, eax
mov dword [0x426ebc], eax
jle 0x404bd9
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + esi*4]
push ecx
call fcn.0041f827
mov edx, dword [0x426eac]
add esp, 4
mov dword [edx + esi*4], eax
mov eax, dword [0x426ebc]
inc esi
cmp esi, eax
jl 0x402b9c
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.counter
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x402bef
test cl, cl
je 0x402beb
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x402bef
add eax, 2
add esi, 2
test cl, cl
jne 0x402bcb
xor eax, eax
jmp 0x402bf4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402ccb
cmp dword [esp + 0x10], 2
jl 0x402ccb
mov eax, dword [0x426e98]
test eax, eax
jl 0x402c1d
push eax
call fcn.00418240
mov edx, dword [esp + 0x40]
add esp, 4
mov eax, dword [edx + 4]
push 0x1b0
push 0x8102
push eax
call fcn.0041c261
add esp, 0xc
mov dword [0x426e98], eax
test eax, eax
jl 0x404cb0
mov eax, dword [esp + 0x38]
mov esi, 4
cmp eax, esi
jl 0x404bd9
mov ecx, dword [esp + 0x3c]
xor eax, eax
mov edx, dword [ecx + 8]
mov al, byte [edx]
add eax, 0xffffffbd
cmp eax, 0x36
ja case.0x402c70.73
xor edx, edx
mov dl, byte [eax + 0x405008]
jmp dword [edx*4 + 0x404fec]
mov dword [0x426eb4], 3
jmp 0x402cb5
mov dword [0x426eb4], esi
jmp 0x402cb5
mov dword [0x426eb4], 6
jmp 0x402cb5
mov dword [0x426eb4], 5
jmp 0x402cb5
mov dword [0x426eb4], 2
jmp 0x402cb5
mov dword [0x426eb4], ebp
mov eax, dword [ecx + 0xc]
push eax
call fcn.0041f827
add esp, 4
mov dword [0x426eb8], eax
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.rotate
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x402cf6
test cl, cl
je 0x402cf2
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x402cf6
add eax, 2
add esi, 2
test cl, cl
jne 0x402cd2
xor eax, eax
jmp 0x402cfb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402d1c
cmp dword [esp + 0x10], 2
jne 0x402d1c
mov ecx, dword [edx + 4]
push ecx
call fcn.00415cb7
add esp, 4
mov dword [0x426ea0], eax
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.logformat
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x402d47
test cl, cl
je 0x402d43
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x402d47
add eax, 2
add esi, 2
test cl, cl
jne 0x402d23
xor eax, eax
jmp 0x402d4c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402d92
cmp dword [esp + 0x10], 2
jne 0x402d92
mov edi, dword [edx + 4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x402d92
mov eax, dword [0x426ef0]
test eax, eax
je 0x402d7c
push eax
call fcn.00414c58
mov edx, dword [esp + 0x40]
add esp, 4
mov edx, dword [edx + 4]
push edx
call fcn.0041f827
add esp, 4
mov dword [0x426ef0], eax
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.timeouts
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x402dbd
test cl, cl
je 0x402db9
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x402dbd
add eax, 2
add esi, 2
test cl, cl
jne 0x402d99
xor eax, eax
jmp 0x402dc2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402e32
cmp dword [esp + 0x10], 1
jle 0x402e32
mov eax, dword [0x426a58]
xor ebx, ebx
test eax, eax
je 0x404bd9
mov esi, 0x426a58
mov ebp, 4
mov edi, 1
sub ebp, esi
jmp 0x402df3
mov edx, dword [esp + 0x3c]
cmp edi, dword [esp + 0x38]
jge 0x404bd9
lea eax, [esi + ebp]
mov ecx, dword [eax + edx]
push ecx
call fcn.00415cb7
add esp, 4
mov dword [esi], eax
test eax, eax
jle 0x404d04
cmp eax, 0x1e8480
jg 0x404d04
mov eax, dword [esi + 4]
add esi, 4
inc ebx
inc edi
test eax, eax
jne 0x402def
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.auth
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x402e5d
test cl, cl
je 0x402e59
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x402e5d
add eax, 2
add esi, 2
test cl, cl
jne 0x402e39
xor eax, eax
jmp 0x402e62
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402f88
cmp dword [esp + 0x10], 2
jne 0x402f88
mov edi, dword [edx + 4]
mov esi, str.none
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x402ea3
test cl, cl
je 0x402e9f
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x402ea3
add eax, 2
add esi, 2
test cl, cl
jne 0x402e7f
xor eax, eax
jmp 0x402ea8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402ebb
mov dword [fcn.0040fdb0], 0x407cb0
jmp 0x404bd9
mov esi, str.iponly
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x402ee6
test cl, cl
je 0x402ee2
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x402ee6
add eax, 2
add esi, 2
test cl, cl
jne 0x402ec2
xor eax, eax
jmp 0x402eeb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402efe
mov dword [fcn.0040fdb0], 0x407f40
jmp 0x404bd9
mov esi, str.nbname
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x402f29
test cl, cl
je 0x402f25
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x402f29
add eax, 2
add esi, 2
test cl, cl
jne 0x402f05
xor eax, eax
jmp 0x402f2e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402f41
mov dword [fcn.0040fdb0], 0x407f50
jmp 0x404bd9
mov esi, str.strong
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x402f6c
test cl, cl
je 0x402f68
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x402f6c
add eax, 2
add esi, 2
test cl, cl
jne 0x402f48
xor eax, eax
jmp 0x402f71
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404d33
mov dword [fcn.0040fdb0], 0x407f90
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.maxconn
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x402fb3
test cl, cl
je 0x402faf
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x402fb3
add eax, 2
add esi, 2
test cl, cl
jne 0x402f8f
xor eax, eax
jmp 0x402fb8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402fe1
cmp dword [esp + 0x10], 2
jne 0x402fe1
mov edx, dword [edx + 4]
push edx
call fcn.00415cb7
add esp, 4
mov dword [0x426ec8], eax
test eax, eax
je 0x404d47
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.users
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x40300c
test cl, cl
je 0x403008
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x40300c
add eax, 2
add esi, 2
test cl, cl
jne 0x402fe8
xor eax, eax
jmp 0x403011
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40314c
mov eax, dword [esp + 0x10]
cmp eax, 2
jl 0x40314c
mov ebp, 1
cmp eax, ebp
jle 0x404bd9
mov edi, dword [esp + 0x18]
mov eax, dword [0x426ee0]
push 0x10
test eax, eax
jne 0x403058
call fcn.00415de0
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
mov dword [0x426ee0], edi
jmp 0x403068
call fcn.00415de0
mov dword [edi], eax
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
je 0x404d55
mov ecx, edi
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + ebp*4]
push eax
call fcn.0041f827
push 0x3a
push eax
mov dword [edi + 4], eax
call fcn.00415b70
mov esi, eax
add esp, 0xc
test esi, esi
je 0x40313a
mov al, byte [esi + 1]
test al, al
je 0x40313a
mov al, byte [esi + 2]
test al, al
je 0x40313a
cmp byte [esi + 3], 0x3a
jne 0x40313a
lea ecx, [esi + 4]
mov dword [edi + 8], ecx
mov al, byte [esi + 1]
cmp al, 0x43
jne 0x4030ef
cmp byte [esi + 2], 0x4c
jne 0x4030dc
mov dword [edi + 0xc], 1
jmp 0x403133
cmp al, 0x43
jne 0x4030ef
cmp byte [esi + 2], 0x52
jne 0x4030ef
mov dword [edi + 0xc], 2
jmp 0x403133
cmp al, 0x4e
jne 0x403122
cmp byte [esi + 2], 0x54
jne 0x403122
mov eax, dword [esp + 0x18]
or ecx, 0xffffffff
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 3
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
shr ecx, 1
push ecx
push edx
push edx
call fcn.00411fa0
add esp, 0xc
jmp 0x403133
cmp al, 0x4c
jne 0x40313a
cmp byte [esi + 2], 0x4d
jne 0x40313a
mov dword [edi + 0xc], 4
mov edi, dword [esp + 0x18]
mov byte [esi], 0
mov eax, dword [esp + 0x38]
inc ebp
cmp ebp, eax
jl 0x403037
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.allow
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x403177
test cl, cl
je 0x403173
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x403177
add eax, 2
add esi, 2
test cl, cl
jne 0x403153
xor eax, eax
jmp 0x40317c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x403187
xor esi, esi
jmp 0x40338c
mov eax, dword [edx]
mov esi, str.deny
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x4031b2
test cl, cl
je 0x4031ae
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x4031b2
add eax, 2
add esi, 2
test cl, cl
jne 0x40318e
xor eax, eax
jmp 0x4031b7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4031c5
mov esi, 1
jmp 0x40338c
mov eax, dword [edx]
mov esi, str.redirect
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x4031f0
test cl, cl
je 0x4031ec
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x4031f0
add eax, 2
add esi, 2
test cl, cl
jne 0x4031cc
xor eax, eax
jmp 0x4031f5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40320a
cmp dword [esp + 0x10], 3
jl 0x40320a
mov esi, 2
jmp 0x40338c
mov eax, dword [edx]
mov esi, str.bandlimin
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x403235
test cl, cl
je 0x403231
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x403235
add eax, 2
add esi, 2
test cl, cl
jne 0x403211
xor eax, eax
jmp 0x40323a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40324f
cmp dword [esp + 0x10], 2
jl 0x40324f
mov esi, 3
jmp 0x40338c
mov eax, dword [edx]
mov esi, str.bandlimout
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x40327a
test cl, cl
je 0x403276
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x40327a
add eax, 2
add esi, 2
test cl, cl
jne 0x403256
xor eax, eax
jmp 0x40327f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x403294
cmp dword [esp + 0x10], 2
jl 0x403294
mov esi, 3
jmp 0x40338c
mov eax, dword [edx]
mov esi, str.nobandlimin
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x4032bf
test cl, cl
je 0x4032bb
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x4032bf
add eax, 2
add esi, 2
test cl, cl
jne 0x40329b
xor eax, eax
jmp 0x4032c4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4032d2
mov esi, 4
jmp 0x40338c
mov eax, dword [edx]
mov esi, str.nobandlimout
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x4032fd
test cl, cl
je 0x4032f9
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x4032fd
add eax, 2
add esi, 2
test cl, cl
jne 0x4032d9
xor eax, eax
jmp 0x403302
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40330d
mov esi, 4
jmp 0x40338c
mov eax, dword [edx]
mov esi, str.countin
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x403338
test cl, cl
je 0x403334
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x403338
add eax, 2
add esi, 2
test cl, cl
jne 0x403314
xor eax, eax
jmp 0x40333d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40334f
cmp dword [esp + 0x10], 4
jl 0x40334f
mov esi, 5
jmp 0x40338c
mov eax, dword [edx]
mov esi, str.nocountin
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x40337a
test cl, cl
je 0x403376
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x40337a
add eax, 2
add esi, 2
test cl, cl
jne 0x403356
xor eax, eax
jmp 0x40337f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4043bd
mov esi, 6
xor ebx, ebx
xor ebp, ebp
cmp esi, 2
mov dword [esp + 0x10], ebx
mov dword [esp + 0x2c], ebx
jne 0x4033a3
mov dword [esp + 0x10], esi
jmp 0x4033bf
cmp esi, 3
jne 0x4033b2
mov dword [esp + 0x10], 1
jmp 0x4033bf
cmp esi, 5
jne 0x4033bf
mov dword [esp + 0x10], 3
push 0x28
call fcn.00415de0
add esp, 4
cmp eax, ebx
mov dword [esp + 0x14], eax
je 0x404d62
mov edx, dword [esp + 0x14]
mov ecx, 0xa
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
cmp esi, 2
mov dword [edx + 4], esi
jne 0x403459
push 0x18
call fcn.00415de0
mov esi, dword [esp + 0x18]
xor edi, edi
add esp, 4
cmp eax, edi
mov dword [esi + 0x24], eax
je 0x404d8f
mov dword [eax + 4], 4
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 4]
push eax
call fcn.00410170
mov ecx, dword [esi + 0x24]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 8]
push eax
call fcn.00415cb7
add esp, 8
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [esi + 0x24]
mov word [ecx + 0xc], ax
mov edx, dword [esi + 0x24]
mov word [edx + 0xe], 0x3e8
mov eax, dword [esi + 0x24]
mov dword [eax + 0x10], edi
mov ecx, dword [esi + 0x24]
mov dword [ecx + 0x14], edi
mov edx, dword [esi + 0x24]
mov dword [edx], edi
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
sub ecx, eax
cmp ecx, 2
jl 0x40350f
mov edx, dword [esp + 0x3c]
mov edi, dword [edx + eax*4 + 4]
mov eax, 0x4218b8
mov esi, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40349f
test cl, cl
je 0x40349b
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40349f
add eax, 2
add esi, 2
test cl, cl
jne 0x40347b
xor eax, eax
jmp 0x4034a4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40350f
push edi
call fcn.0041f827
push 0x4218b4
push eax
call fcn.00415ab3
mov edi, dword [esp + 0x20]
add esp, 0xc
mov esi, eax
mov eax, dword [edi + 0x14]
push 8
test eax, eax
jne 0x4034da
call fcn.00415de0
mov ebp, eax
add esp, 4
mov dword [edi + 0x14], ebp
jmp 0x4034e7
call fcn.00415de0
mov dword [ebp], eax
add esp, 4
mov ebp, eax
test ebp, ebp
je 0x404d6b
mov ecx, ebp
xor eax, eax
push 0x4218b4
mov dword [ecx], eax
push eax
mov dword [ecx + 4], eax
mov dword [ebp + 4], esi
call fcn.00415ab3
mov esi, eax
add esp, 8
test esi, esi
jne 0x4034c2
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
sub edx, eax
cmp edx, 3
jl 0x4035d8
mov ecx, dword [esp + 0x3c]
mov edi, dword [ecx + eax*4 + 8]
mov eax, 0x4218b8
mov esi, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x403555
test cl, cl
je 0x403551
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x403555
add eax, 2
add esi, 2
test cl, cl
jne 0x403531
xor eax, eax
jmp 0x40355a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4035d8
push 0x4218b4
push edi
call fcn.00415ab3
mov edi, dword [esp + 0x1c]
add esp, 8
mov esi, eax
mov eax, dword [edi + 0x18]
push 0xc
test eax, eax
jne 0x40358a
call fcn.00415de0
mov ebx, eax
add esp, 4
mov dword [edi + 0x18], ebx
jmp 0x403596
call fcn.00415de0
mov dword [ebx], eax
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x404d62
mov ecx, ebx
xor eax, eax
lea edx, [ebx + 8]
mov dword [ecx], eax
push edx
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
lea eax, [ebx + 4]
push eax
push esi
call fcn.004100d0
add esp, 0xc
test eax, eax
je 0x404d73
push 0x4218b4
push 0
call fcn.00415ab3
mov esi, eax
add esp, 8
test esi, esi
jne 0x403572
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
sub ecx, edx
cmp ecx, 4
jl 0x4036a1
mov eax, dword [esp + 0x3c]
mov edi, dword [eax + edx*4 + 0xc]
mov eax, 0x4218b8
mov esi, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40361e
test cl, cl
je 0x40361a
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40361e
add eax, 2
add esi, 2
test cl, cl
jne 0x4035fa
xor eax, eax
jmp 0x403623
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4036a1
push 0x4218b4
push edi
call fcn.00415ab3
mov edi, dword [esp + 0x1c]
add esp, 8
mov esi, eax
mov eax, dword [edi + 0x1c]
push 0xc
test eax, eax
jne 0x403653
call fcn.00415de0
mov ebx, eax
add esp, 4
mov dword [edi + 0x1c], ebx
jmp 0x40365f
call fcn.00415de0
mov dword [ebx], eax
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x404d6b
mov ecx, ebx
xor eax, eax
lea edx, [ebx + 8]
mov dword [ecx], eax
push edx
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
lea eax, [ebx + 4]
push eax
push esi
call fcn.004100d0
add esp, 0xc
test eax, eax
je 0x404d81
push 0x4218b4
push 0
call fcn.00415ab3
mov esi, eax
add esp, 8
test esi, esi
jne 0x40363b
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
sub ecx, edx
cmp ecx, 5
jl 0x403787
mov eax, dword [esp + 0x3c]
mov edi, dword [eax + edx*4 + 0x10]
mov eax, 0x4218b8
mov esi, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4036eb
test cl, cl
je 0x4036e7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4036eb
add eax, 2
add esi, 2
test cl, cl
jne 0x4036c3
xor eax, eax
jmp 0x4036f0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x403787
push 0x4218b4
push edi
call fcn.00415ab3
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x34]
add esp, 8
mov ebp, eax
jmp 0x403716
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x20]
push 8
test eax, eax
jne 0x40372e
call fcn.00415de0
mov ebx, eax
add esp, 4
mov dword [esi + 0x20], ebx
jmp 0x40373a
call fcn.00415de0
mov dword [ebx], eax
add esp, 4
mov ebx, eax
test ebx, ebx
je 0x404d8f
mov ecx, ebx
lea esi, [ebx + 6]
xor eax, eax
lea edi, [ebx + 4]
push esi
mov dword [ecx], eax
push edi
push str._hu__hu
push ebp
mov dword [ecx + 4], eax
call fcn.00415a7f
add esp, 0x10
cmp eax, 1
jl 0x404db5
jne 0x403772
mov dx, word [edi]
mov word [esi], dx
push 0x4218b4
push 0
call fcn.00415ab3
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x403712
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x10]
sub eax, ebp
cmp eax, 6
jl 0x403c45
mov ecx, dword [esp + 0x3c]
mov eax, 0x4218b8
mov edi, dword [ecx + ebp*4 + 0x14]
mov esi, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4037d1
test cl, cl
je 0x4037cd
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4037d1
add eax, 2
add esi, 2
test cl, cl
jne 0x4037a9
xor eax, eax
jmp 0x4037d6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x403c45
push 0x4218b4
push edi
call fcn.00415ab3
mov ebx, dword [esp + 0x1c]
add esp, 8
mov edi, eax
mov ebp, 0x1000
mov esi, 0x4218a4
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x403822
test dl, dl
je 0x40381e
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x403822
add ecx, 2
add esi, 2
test dl, dl
jne 0x4037fe
xor ecx, ecx
jmp 0x403827
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x403835
mov eax, dword [ebx + 8]
or al, 1
jmp 0x403c23
mov esi, str.BIND
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x403860
test dl, dl
je 0x40385c
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x403860
add ecx, 2
add esi, 2
test dl, dl
jne 0x40383c
xor ecx, ecx
jmp 0x403865
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x403873
mov eax, dword [ebx + 8]
or al, 2
jmp 0x403c23
mov esi, str.UDPASSOC
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x40389e
test dl, dl
je 0x40389a
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x40389e
add ecx, 2
add esi, 2
test dl, dl
jne 0x40387a
xor ecx, ecx
jmp 0x4038a3
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4038b1
mov eax, dword [ebx + 8]
or al, 4
jmp 0x403c23
mov esi, str.ICMPASSOC
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x4038dc
test dl, dl
je 0x4038d8
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x4038dc
add ecx, 2
add esi, 2
test dl, dl
jne 0x4038b8
xor ecx, ecx
jmp 0x4038e1
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4038ef
mov eax, dword [ebx + 8]
or al, 8
jmp 0x403c23
mov esi, str.HTTP_GET
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x40391a
test dl, dl
je 0x403916
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x40391a
add ecx, 2
add esi, 2
test dl, dl
jne 0x4038f6
xor ecx, ecx
jmp 0x40391f
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x40392e
mov eax, dword [ebx + 8]
or ah, 1
jmp 0x403c23
mov esi, str.HTTP_PUT
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x403959
test dl, dl
je 0x403955
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x403959
add ecx, 2
add esi, 2
test dl, dl
jne 0x403935
xor ecx, ecx
jmp 0x40395e
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x40396d
mov eax, dword [ebx + 8]
or ah, 2
jmp 0x403c23
mov esi, str.HTTP_POST
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x403998
test dl, dl
je 0x403994
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x403998
add ecx, 2
add esi, 2
test dl, dl
jne 0x403974
xor ecx, ecx
jmp 0x40399d
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4039ac
mov eax, dword [ebx + 8]
or ah, 4
jmp 0x403c23
mov esi, str.HTTP_HEAD
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x4039d7
test dl, dl
je 0x4039d3
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x4039d7
add ecx, 2
add esi, 2
test dl, dl
jne 0x4039b3
xor ecx, ecx
jmp 0x4039dc
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4039eb
mov eax, dword [ebx + 8]
or ah, 8
jmp 0x403c23
mov esi, str.HTTP_OTHER
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x403a16
test dl, dl
je 0x403a12
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x403a16
add ecx, 2
add esi, 2
test dl, dl
jne 0x4039f2
xor ecx, ecx
jmp 0x403a1b
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x403a2a
mov eax, dword [ebx + 8]
or ah, 0x80
jmp 0x403c23
mov esi, str.HTTP_CONNECT
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x403a55
test dl, dl
je 0x403a51
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x403a55
add ecx, 2
add esi, 2
test dl, dl
jne 0x403a31
xor ecx, ecx
jmp 0x403a5a
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x403a68
mov eax, dword [ebx + 8]
or eax, ebp
jmp 0x403c23
mov esi, str.HTTP
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x403a93
test dl, dl
je 0x403a8f
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x403a93
add ecx, 2
add esi, 2
test dl, dl
jne 0x403a6f
xor ecx, ecx
jmp 0x403a98
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x403aa7
mov eax, dword [ebx + 8]
or ah, 0xef
jmp 0x403c23
mov esi, str.HTTPS
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x403ad2
test dl, dl
je 0x403ace
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x403ad2
add ecx, 2
add esi, 2
test dl, dl
jne 0x403aae
xor ecx, ecx
jmp 0x403ad7
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x403ae5
mov eax, dword [ebx + 8]
or eax, ebp
jmp 0x403c23
mov esi, str.FTP_GET
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x403b10
test dl, dl
je 0x403b0c
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x403b10
add ecx, 2
add esi, 2
test dl, dl
jne 0x403aec
xor ecx, ecx
jmp 0x403b15
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x403b26
mov eax, dword [ebx + 8]
or eax, 0x10000
jmp 0x403c23
mov esi, str.FTP_PUT
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x403b51
test dl, dl
je 0x403b4d
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x403b51
add ecx, 2
add esi, 2
test dl, dl
jne 0x403b2d
xor ecx, ecx
jmp 0x403b56
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x403b67
mov eax, dword [ebx + 8]
or eax, 0x20000
jmp 0x403c23
mov esi, str.FTP_LIST
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x403b92
test dl, dl
je 0x403b8e
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x403b92
add ecx, 2
add esi, 2
test dl, dl
jne 0x403b6e
xor ecx, ecx
jmp 0x403b97
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x403ba5
mov eax, dword [ebx + 8]
or eax, 0x40000
jmp 0x403c23
mov esi, 0x421808
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x403bd0
test dl, dl
je 0x403bcc
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x403bd0
add ecx, 2
add esi, 2
test dl, dl
jne 0x403bac
xor ecx, ecx
jmp 0x403bd5
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x403be3
mov eax, dword [ebx + 8]
or eax, 0xf0000
jmp 0x403c23
mov esi, str.ADMIN
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x403c0e
test dl, dl
je 0x403c0a
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x403c0e
add ecx, 2
add esi, 2
test dl, dl
jne 0x403bea
xor ecx, ecx
jmp 0x403c13
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x404dda
mov eax, dword [ebx + 8]
or eax, 0x1000000
push 0x4218b4
push 0
mov dword [ebx + 8], eax
call fcn.00415ab3
mov edi, eax
add esp, 8
test edi, edi
jne 0x4037f7
mov ebp, dword [esp + 0x10]
jmp 0x403c49
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
mov edx, ecx
sub edx, ebp
cmp edx, 7
jl 0x403cd3
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
mov ebp, dword [edx + eax*4 + 0x18]
mov al, byte [ebp]
test al, al
je 0x403cd3
cmp al, 0x30
jb 0x403cc7
cmp al, 0x39
ja 0x403cc7
and eax, 0xff
sub eax, 0x30
inc ebp
mov esi, eax
mov al, byte [ebp]
mov edi, esi
cmp al, 0x2d
jne 0x403ca5
mov al, byte [ebp + 1]
cmp al, 0x30
jb 0x403ca5
cmp al, 0x39
ja 0x403ca5
and eax, 0xff
add eax, 0xffffffd0
cmp eax, esi
jle 0x403ca5
mov edi, eax
add ebp, 2
cmp esi, edi
jg 0x403cc8
mov eax, esi
mov ecx, 7
cdq
idiv ecx
mov eax, 1
mov ecx, edx
mov edx, dword [ebx + 0xc]
shl eax, cl
or edx, eax
inc esi
cmp esi, edi
mov dword [ebx + 0xc], edx
jle 0x403ca5
jmp 0x403cc8
inc ebp
mov al, byte [ebp]
test al, al
jne 0x403c69
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
sub ecx, edx
cmp ecx, 8
jl 0x40402c
mov ecx, edx
mov edx, dword [esp + 0x3c]
xor eax, eax
mov esi, dword [edx + ecx*4 + 0x1c]
or ecx, 0xffffffff
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x11
jb 0x40402c
cmp dword [0x427b7c], 1
jle 0x403d1b
xor eax, eax
push 4
mov al, byte [esi]
push eax
call fcn.00415d09
add esp, 8
jmp 0x403d2b
mov edx, dword [str.________________________________H]
xor ecx, ecx
mov cl, byte [esi]
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
je 0x40402c
cmp dword [0x427b7c], 1
jle 0x403d4e
xor eax, eax
push 4
mov al, byte [esi + 1]
push eax
call fcn.00415d09
add esp, 8
jmp 0x403d5f
mov edx, dword [str.________________________________H]
xor ecx, ecx
mov cl, byte [esi + 1]
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
je 0x40402c
cmp dword [0x427b7c], 1
jle 0x403d82
xor eax, eax
push 4
mov al, byte [esi + 3]
push eax
call fcn.00415d09
add esp, 8
jmp 0x403d93
mov edx, dword [str.________________________________H]
xor ecx, ecx
mov cl, byte [esi + 3]
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
je 0x40402c
cmp dword [0x427b7c], 1
jle 0x403db6
xor eax, eax
push 4
mov al, byte [esi + 4]
push eax
call fcn.00415d09
add esp, 8
jmp 0x403dc7
mov edx, dword [str.________________________________H]
xor ecx, ecx
mov cl, byte [esi + 4]
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
je 0x40402c
cmp dword [0x427b7c], 1
jle 0x403dea
xor eax, eax
push 4
mov al, byte [esi + 6]
push eax
call fcn.00415d09
add esp, 8
jmp 0x403dfb
mov edx, dword [str.________________________________H]
xor ecx, ecx
mov cl, byte [esi + 6]
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
je 0x40402c
cmp dword [0x427b7c], 1
jle 0x403e1e
xor eax, eax
push 4
mov al, byte [esi + 7]
push eax
call fcn.00415d09
add esp, 8
jmp 0x403e2f
mov edx, dword [str.________________________________H]
xor ecx, ecx
mov cl, byte [esi + 7]
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
je 0x40402c
cmp dword [0x427b7c], 1
jle 0x403e52
xor eax, eax
push 4
mov al, byte [esi + 9]
push eax
call fcn.00415d09
add esp, 8
jmp 0x403e63
mov edx, dword [str.________________________________H]
xor ecx, ecx
mov cl, byte [esi + 9]
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
je 0x40402c
cmp dword [0x427b7c], 1
jle 0x403e86
xor eax, eax
push 4
mov al, byte [esi + 0xa]
push eax
call fcn.00415d09
add esp, 8
jmp 0x403e97
mov edx, dword [str.________________________________H]
xor ecx, ecx
mov cl, byte [esi + 0xa]
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
je 0x40402c
cmp dword [0x427b7c], 1
jle 0x403eba
xor eax, eax
push 4
mov al, byte [esi + 0xc]
push eax
call fcn.00415d09
add esp, 8
jmp 0x403ecb
mov edx, dword [str.________________________________H]
xor ecx, ecx
mov cl, byte [esi + 0xc]
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
je 0x40402c
cmp dword [0x427b7c], 1
jle 0x403eee
xor eax, eax
push 4
mov al, byte [esi + 0xd]
push eax
call fcn.00415d09
add esp, 8
jmp 0x403eff
mov edx, dword [str.________________________________H]
xor ecx, ecx
mov cl, byte [esi + 0xd]
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
je 0x40402c
cmp dword [0x427b7c], 1
jle 0x403f22
xor eax, eax
push 4
mov al, byte [esi + 0xf]
push eax
call fcn.00415d09
add esp, 8
jmp 0x403f33
mov edx, dword [str.________________________________H]
xor ecx, ecx
mov cl, byte [esi + 0xf]
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
je 0x40402c
cmp dword [0x427b7c], 1
jle 0x403f56
xor eax, eax
push 4
mov al, byte [esi + 0x10]
push eax
call fcn.00415d09
add esp, 8
jmp 0x403f67
mov edx, dword [str.________________________________H]
xor ecx, ecx
mov cl, byte [esi + 0x10]
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
je 0x40402c
xor eax, eax
xor ecx, ecx
mov al, byte [esi]
mov cl, byte [esi + 1]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
lea edx, [eax + eax*2]
xor eax, eax
mov al, byte [esi + 3]
lea eax, [eax + edx*2]
xor edx, edx
mov dl, byte [esi + 4]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*2]
xor ecx, ecx
mov cl, byte [esi + 6]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*2]
lea edx, [eax + eax*4]
xor eax, eax
mov al, byte [esi + 7]
lea edi, [eax + edx*2 - 0x1d7ed0]
xor eax, eax
mov al, byte [esi + 9]
xor edx, edx
mov dl, byte [esi + 0xa]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*2]
xor ecx, ecx
mov cl, byte [esi + 0xc]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*2]
lea edx, [eax + eax*4]
xor eax, eax
mov al, byte [esi + 0xd]
lea eax, [eax + edx*2]
xor edx, edx
mov dl, byte [esi + 0xf]
lea ecx, [eax + eax*2]
lea eax, [edx + ecx*2]
xor ecx, ecx
mov cl, byte [esi + 0x10]
lea eax, [eax + eax*4]
lea ebp, [ecx + eax*2 - 0x1d7ed0]
cmp ebp, edi
jl 0x40402c
push 0xc
call fcn.00415de0
add esp, 4
test eax, eax
je 0x40400e
mov dword [eax], edi
mov dword [eax + 4], ebp
mov edx, dword [ebx + 0x10]
mov dword [eax + 8], edx
mov dword [ebx + 0x10], eax
cmp byte [esi + 0x11], 0x2c
jne 0x40402c
add esi, 0x12
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x11
jae 0x403d01
mov eax, dword [ebx + 4]
test eax, eax
je 0x40436b
cmp eax, 1
je 0x40436b
cmp eax, 2
je 0x40436b
cmp eax, 3
je 0x40424f
cmp eax, 4
je 0x40424f
cmp eax, 5
je 0x404069
cmp eax, 6
jne 0x404bd9
push 0x30
mov ebx, 3
call fcn.00415de0
mov esi, eax
add esp, 4
test esi, esi
je 0x404e01
mov ecx, 0xc
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 4], eax
cmp dword [eax + 4], 5
jne 0x404204
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 4]
push ecx
call fcn.0041f827
add esp, 4
mov dword [esi + 0x28], eax
mov eax, dword [0x427b7c]
cmp eax, 1
jle 0x4040ce
mov edx, dword [esi + 0x28]
push 4
movsx eax, byte [edx]
push eax
call fcn.00415d09
add esp, 8
jmp 0x4040df
mov ecx, dword [esi + 0x28]
mov eax, dword [str.________________________________H]
movsx edx, byte [ecx]
mov al, byte [eax + edx*2]
and eax, 4
test eax, eax
mov eax, dword [esi + 0x28]
je 0x4040e9
inc eax
jmp 0x4040ae
cmp byte [eax], 0x2f
jne 0x4040f2
inc eax
mov dword [esi + 0x28], eax
mov ecx, dword [esp + 0x3c]
lea ebp, [esi + 8]
push ebp
push 0x4217fc
mov edx, dword [ecx + 4]
push edx
call fcn.00415a7f
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x3c]
push eax
push 0x4217f8
mov edx, dword [ecx + 0xc]
push edx
call fcn.00415a7f
mov edx, dword [esp + 0x48]
add esp, 0x18
mov ecx, edx
shr ecx, 0xa
mov dword [esi + 0x1c], ecx
lea eax, [ecx + ecx*2]
shl eax, 0xa
add eax, edx
shl eax, 0x14
mov dword [esi + 0x18], eax
mov edx, dword [esp + 0x3c]
mov edi, dword [edx + 8]
xor edx, edx
mov dl, byte [edi]
lea edi, [edx - 0x43]
cmp edi, 0x36
ja case.0x40415b.72
xor edx, edx
mov dl, byte [edi + 0x405058]
jmp dword [edx*4 + 0x405040]
mov dword [esi + 0xc], ebx
jmp 0x404189
mov dword [esi + 0xc], 4
jmp 0x404189
mov dword [esi + 0xc], 6
jmp 0x404189
mov dword [esi + 0xc], 5
jmp 0x404189
mov dword [esi + 0xc], 7
test eax, eax
jne 0x404195
test ecx, ecx
je 0x404e20
mov eax, dword [ebp]
test eax, eax
je 0x404204
mov ecx, dword [0x426e98]
test ecx, ecx
jl 0x404204
shl eax, 4
sub eax, 8
push 0
push eax
push ecx
call fcn.00416957
mov ecx, dword [0x426e98]
xor eax, eax
mov dword [0x42ac60], eax
push 0x10
mov dword [0x42ac64], eax
push 0x42ac60
mov dword [0x42ac68], eax
push ecx
mov dword [0x42ac6c], eax
call fcn.0041d6ed
mov edx, dword [0x42ac60]
add esp, 0x18
mov dword [esi + 0x10], edx
mov eax, dword [0x42ac64]
mov dword [esi + 0x14], eax
mov ecx, dword [0x42ac68]
mov dword [esi + 0x20], ecx
mov edx, dword [0x42ac6c]
mov dword [esi + 0x24], edx
push 0x42ac40
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [0x426e8c]
test ecx, ecx
jne 0x40422f
push 0x42ac40
mov dword [0x426e8c], esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x404bd9
mov eax, dword [ecx]
test eax, eax
je 0x40423d
mov ecx, eax
mov eax, dword [ecx]
test eax, eax
jne 0x404235
push 0x42ac40
mov dword [ecx], esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x404bd9
push 0x14
call fcn.00415de0
mov edi, eax
add esp, 4
test edi, edi
je 0x404e56
mov ecx, edi
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov dword [edi + 4], ebx
cmp dword [ebx + 4], 3
jne 0x4042a4
mov edx, dword [esp + 0x3c]
lea esi, [edi + 0xc]
push esi
push 0x4217fc
mov eax, dword [edx + 4]
push eax
call fcn.00415a7f
mov eax, dword [esi]
add esp, 0xc
cmp eax, 0x12c
jb 0x404e5d
push 0x42ad60
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x3c]
mov esi, str.bandlimin
mov eax, dword [ecx]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4042e2
test cl, cl
je 0x4042de
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4042e2
add eax, 2
add esi, 2
test cl, cl
jne 0x4042ba
xor eax, eax
jmp 0x4042e7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40432b
mov ecx, dword [0x426e84]
test ecx, ecx
jne 0x40430b
push 0x42ad60
mov dword [0x426e84], edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x404bd9
mov eax, dword [ecx]
test eax, eax
je 0x404359
mov ecx, eax
mov eax, dword [ecx]
test eax, eax
jne 0x404311
push 0x42ad60
mov dword [ecx], edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x404bd9
mov ecx, dword [0x426e88]
test ecx, ecx
jne 0x40434b
push 0x42ad60
mov dword [0x426e88], edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x404bd9
mov eax, dword [ecx]
test eax, eax
je 0x404359
mov ecx, eax
mov eax, dword [ecx]
test eax, eax
jne 0x404351
push 0x42ad60
mov dword [ecx], edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x404bd9
push 0x42ac80
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x426edc]
mov ecx, dword [eax*4 + 0x426a80]
test ecx, ecx
jne 0x40439d
push 0x42ac80
mov dword [eax*4 + 0x426a80], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x404bd9
mov eax, dword [ecx]
test eax, eax
je 0x4043ab
mov ecx, eax
mov eax, dword [ecx]
test eax, eax
jne 0x4043a3
push 0x42ac80
mov dword [ecx], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.flush
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x4043e8
test cl, cl
je 0x4043e4
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x4043e8
add eax, 2
add esi, 2
test cl, cl
jne 0x4043c4
xor eax, eax
jmp 0x4043ed
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404413
cmp dword [esp + 0x10], 1
jne 0x404413
mov eax, dword [0x426edc]
cmp eax, 0xff
jge 0x404bd9
inc eax
mov dword [0x426edc], eax
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.parent
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x40443e
test cl, cl
je 0x40443a
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x40443e
add eax, 2
add esi, 2
test cl, cl
jne 0x40441a
xor eax, eax
jmp 0x404443
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40484e
cmp dword [esp + 0x10], 5
jl 0x40484e
mov esi, dword [esp + 0x14]
test esi, esi
je 0x404edc
mov eax, dword [esi + 4]
test eax, eax
je 0x404472
cmp eax, 2
jne 0x404edc
mov eax, dword [esi + 0x24]
mov dword [esi + 4], 2
test eax, eax
jne 0x40448f
push 0x18
call fcn.00415de0
add esp, 4
mov dword [esi + 0x24], eax
jmp 0x4044ac
mov esi, dword [esi + 0x24]
mov eax, dword [esi]
test eax, eax
je 0x4044a0
mov esi, eax
mov eax, dword [esi]
test eax, eax
jne 0x404498
push 0x18
call fcn.00415de0
add esp, 4
mov dword [esi], eax
mov ebp, eax
mov ecx, 6
xor eax, eax
mov edi, ebp
test ebp, ebp
rep stosd dword es:[edi], eax
je 0x404e6e
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 4]
push ecx
call fcn.00415cb7
add esp, 4
mov word [ebp + 0xe], ax
test ax, ax
je 0x404eb0
cmp ax, 0x3e8
ja 0x404eb0
mov edx, dword [esp + 0x3c]
mov esi, 0x4217e4
mov edi, dword [edx + 8]
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x40451a
test cl, cl
je 0x404516
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x40451a
add eax, 2
add esi, 2
test cl, cl
jne 0x4044f6
xor eax, eax
jmp 0x40451f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40452b
mov dword [ebp + 4], eax
jmp 0x4047e4
mov esi, str.http
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x404556
test cl, cl
je 0x404552
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x404556
add eax, 2
add esi, 2
test cl, cl
jne 0x404532
xor eax, eax
jmp 0x40455b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40456b
mov dword [ebp + 4], 4
jmp 0x4047e4
mov esi, str.connect
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x404596
test cl, cl
je 0x404592
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x404596
add eax, 2
add esi, 2
test cl, cl
jne 0x404572
xor eax, eax
jmp 0x40459b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4045ab
mov dword [ebp + 4], 1
jmp 0x4047e4
mov esi, str.socks4
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x4045d6
test cl, cl
je 0x4045d2
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x4045d6
add eax, 2
add esi, 2
test cl, cl
jne 0x4045b2
xor eax, eax
jmp 0x4045db
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4045eb
mov dword [ebp + 4], 2
jmp 0x4047e4
mov esi, str.socks5
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x404616
test cl, cl
je 0x404612
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x404616
add eax, 2
add esi, 2
test cl, cl
jne 0x4045f2
xor eax, eax
jmp 0x40461b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40462b
mov dword [ebp + 4], 3
jmp 0x4047e4
mov esi, 0x4217b8
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x404656
test cl, cl
je 0x404652
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x404656
add eax, 2
add esi, 2
test cl, cl
jne 0x404632
xor eax, eax
jmp 0x40465b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40466b
mov dword [ebp + 4], 7
jmp 0x4047e4
mov esi, 0x4217b0
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x404696
test cl, cl
je 0x404692
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x404696
add eax, 2
add esi, 2
test cl, cl
jne 0x404672
xor eax, eax
jmp 0x40469b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4046ab
mov dword [ebp + 4], 8
jmp 0x4047e4
mov esi, 0x4217a8
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x4046d6
test cl, cl
je 0x4046d2
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x4046d6
add eax, 2
add esi, 2
test cl, cl
jne 0x4046b2
xor eax, eax
jmp 0x4046db
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4046eb
mov dword [ebp + 4], 9
jmp 0x4047e4
mov esi, str.socks4b
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x404716
test cl, cl
je 0x404712
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x404716
add eax, 2
add esi, 2
test cl, cl
jne 0x4046f2
xor eax, eax
jmp 0x40471b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40472b
mov dword [ebp + 4], 0xa
jmp 0x4047e4
mov esi, str.socks5b
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x404756
test cl, cl
je 0x404752
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x404756
add eax, 2
add esi, 2
test cl, cl
jne 0x404732
xor eax, eax
jmp 0x40475b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404768
mov dword [ebp + 4], 0xb
jmp 0x4047e4
mov esi, str.pop3
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x404793
test cl, cl
je 0x40478f
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x404793
add eax, 2
add esi, 2
test cl, cl
jne 0x40476f
xor eax, eax
jmp 0x404798
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4047a5
mov dword [ebp + 4], 5
jmp 0x4047e4
mov esi, 0x42178c
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x4047d0
test cl, cl
je 0x4047cc
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x4047d0
add eax, 2
add esi, 2
test cl, cl
jne 0x4047ac
xor eax, eax
jmp 0x4047d5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404e8d
mov dword [ebp + 4], 6
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 0xc]
push eax
call fcn.00410170
mov dword [ebp + 8], eax
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x10]
push edx
call fcn.00415cb7
add esp, 8
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp + 0xc], ax
mov eax, dword [esp + 0x38]
cmp eax, 5
jle 0x40482b
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x14]
push ecx
call fcn.0041f827
add esp, 4
mov dword [ebp + 0x10], eax
cmp dword [esp + 0x38], 6
jle 0x404bd9
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 0x18]
push eax
call fcn.0041f827
add esp, 4
mov dword [ebp + 0x14], eax
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.nserver
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x404879
test cl, cl
je 0x404875
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x404879
add eax, 2
add esi, 2
test cl, cl
jne 0x404855
xor eax, eax
jmp 0x40487e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4048d2
cmp dword [esp + 0x10], 2
jne 0x4048d2
mov eax, dword [0x42a7d0]
xor esi, esi
test eax, eax
je 0x4048b0
mov eax, 0x42a7d0
cmp eax, 0x42a7e4
jge 0x4048c3
mov ecx, dword [eax + 4]
add eax, 4
inc esi
test ecx, ecx
jne 0x404899
cmp esi, 5
jge 0x4048c3
mov ecx, dword [edx + 4]
push ecx
call fcn.00410170
add esp, 4
mov dword [esi*4 + 0x42a7d0], eax
mov dword [0x42a808], 0x408930
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.fakeresolve
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x4048fd
test cl, cl
je 0x4048f9
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x4048fd
add eax, 2
add esi, 2
test cl, cl
jne 0x4048d9
xor eax, eax
jmp 0x404902
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40491c
cmp dword [esp + 0x10], 1
jne 0x40491c
mov dword [0x42a808], 0x408950
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.nscache
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x404947
test cl, cl
je 0x404943
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x404947
add eax, 2
add esi, 2
test cl, cl
jne 0x404923
xor eax, eax
jmp 0x40494c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4049a8
cmp dword [esp + 0x10], 2
jne 0x4049a8
mov edx, dword [edx + 4]
push edx
call fcn.00415cb7
mov esi, eax
add esp, 4
cmp esi, 0x100
jge 0x404980
push esi
push str.Invalid_NS_cache_size:__d_n
push 0x427730
call fcn.00415178
add esp, 0xc
push esi
call fcn.004082b0
add esp, 4
test eax, eax
je 0x404bd9
push str.Failed_to_initialize_NS_cache_n
push 0x427730
call fcn.00415178
add esp, 8
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.nsrecord
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x4049d3
test cl, cl
je 0x4049cf
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x4049d3
add eax, 2
add esi, 2
test cl, cl
jne 0x4049af
xor eax, eax
jmp 0x4049d8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404a10
cmp dword [esp + 0x10], 3
jne 0x404a10
mov eax, dword [edx + 8]
push 0xffffffffffffffff
push eax
call fcn.00410170
mov ecx, dword [esp + 0x44]
add esp, 4
mov edx, dword [ecx + 4]
push eax
push edx
call fcn.0041f827
add esp, 4
push eax
call fcn.004083d0
add esp, 0xc
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.dialer
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x404a3b
test cl, cl
je 0x404a37
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x404a3b
add eax, 2
add esi, 2
test cl, cl
jne 0x404a17
xor eax, eax
jmp 0x404a40
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404a61
cmp dword [esp + 0x10], 2
jne 0x404a61
mov eax, dword [edx + 4]
push eax
call fcn.0041f827
add esp, 4
mov dword [0x42a804], eax
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.monitor
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x404a8c
test cl, cl
je 0x404a88
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x404a8c
add eax, 2
add esi, 2
test cl, cl
jne 0x404a68
xor eax, eax
jmp 0x404a91
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404b0e
cmp dword [esp + 0x10], 2
jne 0x404b0e
push 0x2c
call fcn.00415de0
mov edx, dword [esp + 0x40]
mov esi, eax
mov eax, dword [edx + 4]
lea ecx, [esi + 4]
push ecx
push eax
call fcn.0041fbae
add esp, 0xc
test eax, eax
je 0x404ae9
push esi
call fcn.00414c58
mov edx, dword [esp + 0x40]
mov ecx, dword [0x42a794]
push ecx
mov eax, dword [edx + 4]
push eax
push str.Warning:_file__s_doesnt_exist_on_line__d_n
push 0x427730
call fcn.00415178
add esp, 0x14
jmp 0x404bd9
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 4]
push edx
call fcn.0041f827
mov dword [esi], eax
mov eax, dword [0x426ef8]
mov dword [esi + 0x28], eax
add esp, 4
mov dword [0x426ef8], esi
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.system
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x404b39
test cl, cl
je 0x404b35
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x404b39
add eax, 2
add esi, 2
test cl, cl
jne 0x404b15
xor eax, eax
jmp 0x404b3e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404b60
cmp dword [esp + 0x10], 2
jne 0x404b60
mov ecx, dword [edx + 4]
push ecx
call fcn.004154c6
add esp, 4
cmp eax, 0xffffffff
je 0x404f02
jmp 0x404bd9
mov eax, dword [edx]
mov esi, str.pidfile
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x404b8b
test cl, cl
je 0x404b87
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x404b8b
add eax, 2
add esi, 2
test cl, cl
jne 0x404b67
xor eax, eax
jmp 0x404b90
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x404f50
cmp dword [esp + 0x10], 2
jne 0x404f50
mov edx, dword [edx + 4]
push 0x4212cc
push edx
call fcn.00414be1
mov esi, eax
add esp, 8
test esi, esi
je 0x404f29
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4217fc
push esi
call fcn.00415178
push esi
call fcn.00414d41
add esp, 0x10
mov eax, dword [esp + 0x44]
mov ebp, dword [0x42a794]
mov ecx, dword [esp + 0x1c]
push eax
inc ebp
push 0xffff
push ecx
mov dword [0x42a794], ebp
call fcn.00415d7e
add esp, 0xc
test eax, eax
jne 0x4022a6
mov eax, dword [esp + 0x1c]
push eax
call fcn.00414c58
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00414c58
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov edx, dword [0x42a794]
push edx
push str.Parse_error_line__d_n
push 0x427730
call fcn.00415178
add esp, 0xc
mov eax, 0x15
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, dword [0x42a794]
push eax
push str.Service_not_started_on_line:__d_n
push 0x427730
call fcn.00415178
add esp, 0xc
mov eax, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [0x42a7b0]
push ecx
push str.Unable_to_reopen_config_for_writing:__s_n
jmp 0x404c8c
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 4]
push eax
push str.Unable_to_open_included_file:__s_n
push 0x427730
call fcn.00415178
add esp, 0xc
mov eax, 0xffffffe4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov edx, dword [esp + 0x3c]
mov ecx, dword [0x42a794]
push ecx
mov eax, dword [edx + 4]
push eax
push str.Unable_to_open_counter_file__s__line__d_n
push 0x427730
call fcn.00415178
add esp, 0x10
mov eax, 0x12
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [0x42a794]
push ecx
push str.Unknown_counter_type__line:__d_n
push 0x427730
call fcn.00415178
add esp, 0xc
mov eax, 0x12
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, dword [esp + 0x3c]
mov edx, dword [0x42a794]
push edx
mov ecx, dword [eax + ebx*4 + 4]
push ecx
push str.Invalid_timeout:__s__line__d_n
push 0x427730
call fcn.00415178
add esp, 0x10
mov eax, 0x13
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, dword [0x42a794]
mov ecx, dword [edx + 4]
push eax
push ecx
push str.Unknown_auth_type:__s_line__d_n
jmp 0x404f5f
mov edx, dword [0x42a794]
push edx
push str.Invalid_maxconn_value__line__d_n
jmp 0x404d9b
mov eax, dword [0x42a794]
push eax
push str.No_memory_for_PWL_entry__line__d_n
jmp 0x404d9b
mov ecx, dword [0x42a794]
push ecx
jmp 0x404d96
mov eax, dword [0x42a794]
push eax
jmp 0x404d96
mov edx, dword [0x42a794]
push edx
push str.Invalid_IP_or_CIDR__line__d_n
jmp 0x404d9b
mov ecx, dword [0x42a794]
push ecx
push str.Invalid_IP_or_CIDR__line__d_n
jmp 0x404d9b
mov edx, dword [0x42a794]
push edx
push str.No_memory_for_ACL_entry__line__d_n
push 0x427730
call fcn.00415178
add esp, 0xc
mov eax, 0x16
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, dword [0x42a794]
push eax
push str.Invalid_port_or_port_range__line__d_n
push 0x427730
call fcn.00415178
add esp, 0xc
mov eax, 0x17
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [0x42a794]
push ecx
push edi
push str.Unknown_operation_type:__s_line__d_n
push 0x427730
call fcn.00415178
add esp, 0x10
mov eax, 0x1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push str.No_memory_to_create_traffic_limit_filter_n
push 0x427730
call fcn.00415178
add esp, 8
mov eax, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov edx, dword [0x42a794]
push edx
push str.Wrong_traffic_limit_specified__line__d_n
push 0x427730
call fcn.00415178
add esp, 0xc
mov eax, 0x23
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, dword [0x42a794]
push eax
push str.Unknown_rotation_type__line:__d_n
jmp 0x404f36
push str.No_memory_to_create_band_limit_filter_n
jmp 0x404e06
mov ecx, dword [0x42a794]
push ecx
push str.Wrong_bandwidth_specified__line__d_n
jmp 0x404f0f
push str.Chainig_error:_unable_to_allocate_memory_for_chain_n
push 0x427730
call fcn.00415178
add esp, 8
mov eax, 0x2c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov edx, dword [edx + 8]
push edx
push str.Chaining_error:_bad_chain_type___s__n
push 0x427730
call fcn.00415178
add esp, 0xc
mov eax, 0x2b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [0x42a794]
and eax, 0xffff
push ecx
push eax
push str.Chaining_error:_bad_chain_weight__u_line__d_n
push 0x427730
call fcn.00415178
add esp, 0x10
mov eax, 0x2a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov edx, dword [0x42a794]
push edx
push str.Chaining_error:_last_ACL_entry_was_not__allow__or__redirect__on_line__d_n
push 0x427730
call fcn.00415178
add esp, 0xc
mov eax, 0x29
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 4]
push ecx
push str.Failed_to_start__s_n
push 0x427730
call fcn.00415178
add esp, 0xc
mov eax, 0x21
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 4]
push eax
push str.Failed_to_open_pid_file__s_n
push 0x427730
call fcn.00415178
add esp, 0xc
mov eax, 0x22
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [0x42a794]
mov edx, dword [edx]
push ecx
push edx
push str.Unknown_command:__s_line__d_n
push 0x427730
call fcn.00415178
add esp, 0x10
mov eax, 0x16
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
push str.No_memory_for_configuration
push 0x427730
call fcn.00415178
add esp, 8
mov eax, 0xa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret