Function at 0x4129b0
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 0x4129d2
cmp dl, 0x2f
jne 0x4129cf
mov byte [eax], 0x5c
inc eax
jmp 0x4129c1
sub eax, dword [0x42e4c0]
dec eax
jg 0x4129e5
mov dword [0x42e4c0], str.cgi_bin_
mov eax, dword [0x46db5c]
test eax, eax
je 0x4129ff
mov dl, byte [eax]
test dl, dl
je 0x4129ff
cmp dl, 0x2f
jne 0x4129fc
mov byte [eax], 0x5c
inc eax
jmp 0x4129ee
mov ebx, dword [0x46dccc]
push esi
push esi
push 0x5c
push ebx
call fcn.00403476
add esp, 0x10
mov esi, eax
test eax, eax
je 0x412a64
cmp byte [ebx], 0x22
jne 0x412a1e
inc ebx
sub esp, 0xc
mov byte [esi], 0
push ebx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
add esp, 0xc
cmp dword [0x46dcc4], 0
jne 0x412a5f
mov eax, esi
sub esp, 0xc
sub eax, ebx
add eax, 5
push eax
call fcn.0042d4e4
add esp, 0xc
push ebx
push str._swww
push eax
mov dword [0x46dcc4], eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov byte [esi], 0x5c
jmp 0x412a77
cmp dword [0x46dcc4], 0
jne 0x412a77
mov dword [0x46dcc4], 0x44193d
sub esp, 0xc
push dword [0x46dcc4]
call fcn.0042d5c4
pop edi
mov ebx, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [0x42e4a8], eax
pop eax
push 0x42e458
push dword [0x46dcc4]
call ebx
mov eax, dword [0x42e594]
pop edx
pop ecx
test eax, eax
je 0x412aec
push edx
push edx
push 0x42e458
push eax
call ebx
pop ecx
pop esi
test byte [0x46d97d], 4
je 0x412aec
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 0x412ac1
cmp dword [0x42e470], 0
je 0x412b2c
push eax
push eax
push 0x42e458
push dword [0x42e670]
call ebx
mov eax, dword [0x42e668]
pop edx
pop ecx
test eax, eax
je 0x412b1b
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 0x412b44
test eax, eax
je 0x412b44
mov dword [0x42e464], 0xc
mov eax, dword [0x42e468]
test eax, eax
je 0x412b5c
cmp eax, 0xb
jg 0x412b5c
mov dword [0x42e468], 0xc
xor ebx, ebx
mov eax, dword [ebx*4 + 0x46da60]
test eax, eax
je 0x412b7c
cmp eax, section..rsrc
jbe 0x412b7c
sub esp, 0xc
push eax
call fcn.0042d4c8
add esp, 0x10
sub esp, 0xc
push ebx
call fcn.004126d2
mov dword [esp], ebx
mov dword [ebx*4 + 0x46da60], eax
call fcn.004127d8
add esp, 0x10
mov dword [ebx*4 + 0x46da00], eax
inc ebx
cmp ebx, 0x12
jne 0x412b5e
push eax
push eax
push 0xa
push dword [0x42e598]
call fcn.00403476
add esp, 0x10
test eax, eax
je 0x412bc6
cmp byte [eax + 1], 0
jne 0x412bc6
mov byte [eax - 1], 0
jmp 0x412ba4
mov eax, dword [0x46d97c]
test al, 2
jne 0x412bd6
and dword [0x46d974], 0xffffffef
test eax, 0x30000
je 0x412beb
cmp dword [0x47a7b8], 0
jne 0x412beb
call fcn.004246ed
cmp dword [0x46d4dc], 0
jne 0x412bfe
mov dword [0x46d4dc], str.Message_detected_as_SPAM
cmp dword [0x47a7fc], 0
je 0x412c0c
call fcn.00425739
call fcn.00414378
call fcn.004039a6
mov eax, dword [0x464334]
test eax, eax
je 0x412c37
sub esp, 0xc
lea eax, [eax*4 + 8]
push eax
call fcn.0042d4e4
add esp, 0x10
mov dword [0x46432c], eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret