Function at 0x41291c
Capabilities:
Create directory
Set current directory

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x10c
mov eax, dword [0x42e4c0]
mov dl, byte [eax]
test dl, dl
je 0x41293e
cmp dl, 0x2f
jne 0x41293b
mov byte [eax], 0x5c
inc eax
jmp 0x41292d
sub eax, dword [0x42e4c0]
dec eax
jg 0x412951
mov dword [0x42e4c0], str.cgi_bin_
mov eax, dword [0x46cb5c]
test eax, eax
je 0x41296b
mov dl, byte [eax]
test dl, dl
je 0x41296b
cmp dl, 0x2f
jne 0x412968
mov byte [eax], 0x5c
inc eax
jmp 0x41295a
mov ebx, dword [0x46cccc]
push esi
push esi
push 0x5c
push ebx
call fcn.00403476
add esp, 0x10
mov esi, eax
test eax, eax
je 0x4129d0
cmp byte [ebx], 0x22
jne 0x41298a
inc ebx
sub esp, 0xc
mov byte [esi], 0
push ebx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
add esp, 0xc
cmp dword [0x46ccc4], 0
jne 0x4129cb
mov eax, esi
sub esp, 0xc
sub eax, ebx
add eax, 5
push eax
call fcn.0042d128
add esp, 0xc
push ebx
push str._swww
push eax
mov dword [0x46ccc4], eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov byte [esi], 0x5c
jmp 0x4129e3
cmp dword [0x46ccc4], 0
jne 0x4129e3
mov dword [0x46ccc4], 0x44091d
sub esp, 0xc
push dword [0x46ccc4]
call fcn.0042d208
pop edi
mov ebx, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [0x42e4a8], eax
pop eax
push 0x42e458
push dword [0x46ccc4]
call ebx
mov eax, dword [0x42e594]
pop edx
pop ecx
test eax, eax
je 0x412a58
push edx
push edx
push 0x42e458
push eax
call ebx
pop ecx
pop esi
test byte [0x46c97d], 4
je 0x412a58
xor esi, esi
lea edi, [ebp - 0x118]
push esi
inc esi
push dword [0x42e594]
push str._.234s_2.2X
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
pop eax
pop edx
push 0x42e458
push edi
call ebx
pop ecx
pop edi
cmp esi, 0x40
jne 0x412a2d
cmp dword [0x42e470], 0
je 0x412a98
push eax
push eax
push 0x42e458
push dword [0x42e670]
call ebx
mov eax, dword [0x42e668]
pop edx
pop ecx
test eax, eax
je 0x412a87
push esi
push esi
push 0x42e458
push eax
call ebx
pop edi
pop eax
push edx
push edx
push 0x42e458
push dword [0x42e66c]
call ebx
pop ecx
pop ebx
mov eax, dword [0x42e464]
cmp eax, 0xb
jg 0x412ab0
test eax, eax
je 0x412ab0
mov dword [0x42e464], 0xc
mov eax, dword [0x42e468]
test eax, eax
je 0x412ac8
cmp eax, 0xb
jg 0x412ac8
mov dword [0x42e468], 0xc
xor ebx, ebx
mov eax, dword [ebx*4 + 0x46ca60]
test eax, eax
je 0x412ae8
cmp eax, section..rsrc
jbe 0x412ae8
sub esp, 0xc
push eax
call fcn.0042d10c
add esp, 0x10
sub esp, 0xc
push ebx
call fcn.0041263e
mov dword [esp], ebx
mov dword [ebx*4 + 0x46ca60], eax
call fcn.00412744
add esp, 0x10
mov dword [ebx*4 + 0x46ca00], eax
inc ebx
cmp ebx, 0x12
jne 0x412aca
push eax
push eax
push 0xa
push dword [0x42e598]
call fcn.00403476
add esp, 0x10
test eax, eax
je 0x412b32
cmp byte [eax + 1], 0
jne 0x412b32
mov byte [eax - 1], 0
jmp 0x412b10
mov eax, dword [0x46c97c]
test al, 2
jne 0x412b42
and dword [0x46c974], 0xffffffef
test eax, 0x30000
je 0x412b57
cmp dword [0x4797b8], 0
jne 0x412b57
call fcn.0042454d
cmp dword [0x46c4dc], 0
jne 0x412b6a
mov dword [0x46c4dc], str.Message_detected_as_SPAM
cmp dword [0x4797fc], 0
je 0x412b78
call fcn.00425599
call fcn.004142e4
call fcn.004039a6
mov eax, dword [0x463334]
test eax, eax
je 0x412ba3
sub esp, 0xc
lea eax, [eax*4 + 8]
push eax
call fcn.0042d128
add esp, 0x10
mov dword [0x46332c], eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret