Function at 0x402e44
Capabilities:
Execute command
Self delete

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xc6c
mov ebx, dword [esp + 0xc80]
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov word [esp + 0x432], 0
mov edi, str._cmd_
mov ecx, 5
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x402ed1
call fcn.0040b079
test eax, eax
jne 0x402edb
mov dword [esp], 0x465224
call fcn.0040af10
test eax, eax
jne 0x402ee5
cmp dword [0x47c0cc], 0
je 0x40344b
mov al, byte [ebx]
cmp al, 0xa
je 0x402eef
cmp al, 0xd
je 0x402ef9
test al, al
jne 0x40344b
mov dword [esp + 0x18], 1
jmp 0x402f15
mov dword [esp + 0x18], 2
jmp 0x402f15
mov dword [esp + 0x18], 3
jmp 0x402f15
mov dword [esp + 0x18], 3
jmp 0x402f15
mov dword [esp + 0x18], 1
jmp 0x402f15
mov dword [esp + 0x18], 1
jmp 0x402f15
mov dword [esp], ebx
call fcn.00402ddb
mov ebx, eax
mov dword [esp + 0x18], 0
cmp dword [0x47c0cc], 0
jne 0x402f38
mov al, byte [ebx]
cmp al, 0xa
je 0x40346a
cmp al, 0xd
je 0x40346a
test al, al
je 0x40346a
cmp dword [0x47c028], 0
je 0x402f56
call fcn.00402762
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0043b4ea
cmp dword [esp + 0x18], 0
jne 0x4030db
mov edi, str.GET__
mov ecx, 5
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
jne 0x402faa
cmp dword [0x47c028], 2
jne 0x402f92
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0043b4ea
mov dword [esp + 4], 0
add ebx, 5
mov dword [esp], ebx
call fcn.004450b5
jmp 0x40346a
mov edi, str.HEAD__
mov ecx, 6
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
jne 0x402ff3
cmp dword [0x47c028], 2
jne 0x402fdb
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0043b4ea
mov dword [esp + 4], 1
add ebx, 6
mov dword [esp], ebx
call fcn.004450b5
jmp 0x40346a
mov edi, str.PUT__
mov ecx, 5
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
jne 0x40303c
cmp dword [0x47c028], 2
jne 0x403024
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0043b4ea
mov dword [esp + 4], 2
add ebx, 5
mov dword [esp], ebx
call fcn.004450b5
jmp 0x40346a
mov edi, str.POST__
mov ecx, 6
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
jne 0x403085
cmp dword [0x47c028], 2
jne 0x40306d
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0043b4ea
mov dword [esp + 4], 4
add ebx, 6
mov dword [esp], ebx
call fcn.004450b5
jmp 0x40346a
mov edi, str.DELETE__
mov ecx, 8
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
jne 0x4030ce
cmp dword [0x47c028], 2
jne 0x4030b6
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0043b4ea
mov dword [esp + 4], 5
add ebx, 8
mov dword [esp], ebx
call fcn.004450b5
jmp 0x40346a
cmp dword [0x47c0bc], 0
jne 0x40346a
cmp dword [0x47c0c4], 0
jne 0x403112
cmp byte [ebx], 0x21
jne 0x403112
cmp byte [ebx + 1], 0x20
je 0x403112
mov edi, ebx
mov al, 0
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea eax, [ecx - 1]
cmp eax, 1
jbe 0x403112
inc ebx
mov dword [esp], ebx
call sub.msvcrt.dll_system
jmp 0x40346a
cmp dword [esp + 0xc88], 0
je 0x4033f0
cmp dword [esp + 0x18], 0
je 0x4033f0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x400
mov eax, dword [esp + 0xc88]
mov dword [esp], eax
call fcn.0043a760
cmp dword [esp + 0x18], 3
jne 0x40319d
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov edx, dword [esp + 0xc88]
mov dword [esp], edx
call fcn.0043a8d6
lea eax, [esp + 0x28]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x2c]
mov dword [esp + 8], eax
lea eax, [esp + 0x30]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00402afb
mov dword [esp + 0x1c], eax
test eax, eax
jg 0x40320f
cmp dword [esp + 0x30], 0
je 0x4031a7
jmp 0x40320f
mov dword [esp + 0x1c], 0
jmp 0x40320f
cmp dword [0x47c028], 0
je 0x4031ca
mov dword [esp + 4], 0
mov edx, dword [esp + 0xc88]
mov eax, dword [edx + 0xc]
mov dword [esp], eax
call fcn.0043b4ea
mov edx, dword [esp + 0xc88]
mov eax, dword [edx + 0xc]
mov dword [esp + 4], eax
lea ebx, [esp + 0x434]
mov dword [esp], ebx
call fcn.0043a963
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 0xc84]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0043b566
jmp 0x40346a
lea ebp, [esp + 0x34]
cmp dword [0x47c0cc], 0
je 0x403248
mov dword [esp], 1
call fcn.00402960
mov ebx, eax
mov dword [esp + 8], 0x3ff
mov dword [esp + 4], eax
mov dword [esp], ebp
call sub.msvcrt.dll_strncpy
mov dword [esp], ebx
call sub.msvcrt.dll_free
jmp 0x403269
mov eax, dword [0x47e388]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x3ff
mov dword [esp], ebp
call fcn.0044295b
test eax, eax
je 0x4033ad
cmp dword [esp + 0x18], 3
jne 0x4032b8
lea edx, [esp + 0x28]
mov dword [esp + 0xc], edx
lea eax, [esp + 0x2c]
mov dword [esp + 8], eax
lea eax, [esp + 0x30]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00402afb
add dword [esp + 0x1c], eax
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov eax, dword [esp + 0xc88]
mov dword [esp], eax
call fcn.0043a8d6
cmp dword [esp + 0x1c], 0
jg 0x403301
jmp 0x4032f4
cmp dword [esp + 0x18], 2
jne 0x4032d7
mov edi, str.__cmd_
mov ecx, 6
mov esi, ebp
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x403308
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov edx, dword [esp + 0xc88]
mov dword [esp], edx
call fcn.0043a8d6
jmp 0x403301
cmp dword [esp + 0x30], 0
jne 0x403213
jmp 0x403345
cmp dword [esp + 0x18], 2
jne 0x403326
mov edi, str.__cmd_
mov ecx, 6
mov esi, ebp
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
jne 0x403213
jmp 0x403345
cmp dword [esp + 0x18], 1
jne 0x403213
mov al, byte [esp + 0x34]
cmp al, 0xa
je 0x403345
cmp al, 0xd
je 0x403345
test al, al
jne 0x403213
cmp dword [0x47c028], 0
je 0x403368
mov dword [esp + 4], 0
mov edx, dword [esp + 0xc88]
mov eax, dword [edx + 0xc]
mov dword [esp], eax
call fcn.0043b4ea
mov edx, dword [esp + 0xc88]
mov eax, dword [edx + 0xc]
mov dword [esp + 4], eax
lea ebx, [esp + 0x434]
mov dword [esp], ebx
call fcn.0043a963
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 0xc84]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0043b566
jmp 0x40346a
mov edx, dword [esp + 0xc88]
mov dword [esp], edx
call fcn.0043a7b1
cmp dword [0x47c0c8], 0
jne 0x4033d1
mov dword [esp], 1
call sub.msvcrt.dll_exit
mov eax, dword [0x47e388]
test eax, eax
je 0x4033e2
mov dword [esp], eax
call fcn.00442867
mov dword [esp], 1
call fcn.004026c7
jmp 0x40346a
cmp dword [0x47c028], 0
je 0x403409
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0043b4ea
mov dword [0x47c02c], 0
mov dword [esp + 4], ebx
lea ebx, [esp + 0x434]
mov dword [esp], ebx
call fcn.0043a963
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 0xc84]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0043b566
jmp 0x40346a
mov edx, dword [0x47e10c]
cmp dword [0x47e114], edx
jne 0x402f03
mov dword [esp + 0x18], 0
jmp 0x402f15
add esp, 0xc6c
pop ebx
pop esi
pop edi
pop ebp
ret