Function at 0x4041e0
Capabilities:
Contain obfuscated stackstrings
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40c613
mov eax, dword fs:[0]
push eax
mov eax, 0x2278
call fcn.0040c460
mov eax, dword [0x412018]
xor eax, ebp
mov dword [ebp - 0x28], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2284], ecx
lea ecx, [ebp - 0x18]
call fcn.00401ba0
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 1
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x2284]
call fcn.004032b0
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jge 0x404273
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x2264], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.00401c00
mov eax, dword [ebp - 0x2264]
jmp 0x404a1e
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
cmp ecx, 0x7d
je 0x404a00
mov dword [ebp - 0x10], 1
mov edx, dword [0x40e5b0]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
neg eax
sbb eax, eax
add eax, 1
mov dword [ebp - 0x238], eax
mov ecx, dword [0x40e584]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x4042c9
cmp dword [ebp - 0x238], 0
je 0x4043f8
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x2284]
call fcn.004032b0
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jge 0x4042e6
jmp 0x404a00
cmp dword [ebp + 0x10], 0
je 0x4043f8
lea ecx, [ebp - 0x240]
call fcn.00401ba0
push 0x5c
mov ecx, dword [ebp + 8]
push ecx
call fcn.00403190
add esp, 8
test eax, eax
je 0x404348
push 0x211
mov ecx, dword [ebp - 0x2284]
call fcn.00402520
mov dword [ebp - 0x2268], eax
lea ecx, [ebp - 0x240]
call fcn.00401c00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.00401c00
mov eax, dword [ebp - 0x2268]
jmp 0x404a1e
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x2284]
call fcn.00403a20
test eax, eax
je 0x404384
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x240]
call fcn.00401c50
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x240]
call fcn.00402120
lea ecx, [ebp - 0x240]
call fcn.00401c20
cmp dword [ebp - 0x238], 0
je 0x4043ed
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x2284]
call fcn.004032b0
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jge 0x4043b5
lea ecx, [ebp - 0x240]
call fcn.00401c00
jmp 0x404a00
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x2284]
call fcn.00403ac0
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jge 0x4043dd
lea ecx, [ebp - 0x240]
call fcn.00401c00
jmp 0x404a00
lea ecx, [ebp - 0x240]
call fcn.00401c00
jmp 0x40499d
lea ecx, [ebp - 0x240]
call fcn.00401c00
mov ecx, dword [0x40e59c]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x404431
mov dword [ebp - 0x10], 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x2284]
call fcn.004032b0
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jge 0x404431
jmp 0x404a00
mov ecx, dword [0x40e568]
push ecx
push ecx
mov byte [ebp - 0x7f], 0x73
mov byte [ebp - 0x7e], 0x62
mov byte [ebp - 0x7d], 0x5b
mov byte [ebp - 0x7c], 0x79
mov byte [ebp - 0x7b], 0x72
mov byte [ebp - 0x7a], 0x63
mov byte [ebp - 0x79], 0x7a
mov byte [ebp - 0x78], 0x73
mov byte [ebp - 0x77], 0x5e
mov byte [ebp - 0x76], 0x77
mov byte [ebp - 0x75], 0x78
mov byte [ebp - 0x74], 0x72
mov byte [ebp - 0x73], 0x7a
mov byte [ebp - 0x72], 0x73
mov byte [ebp - 0x71], 0x57
mov byte [ebp - 0x70], 0x16
call fcn.004044c7
or byte [ebx], bl
stc
pop eax
lea eax, [ebp - 0x84]
push eax
call fcn.004044d7
push eax
push esi
push dword [ebp + 8]
call fcn.0040448c
add esp, 0x10
mov dword [ebp - 0xc0], eax
push 0x40
push 0x1000
push dword [ebp + 0xc]
jae 0x404965
inc ebp
invalid
adc byte [eax], al
add bh, bh
jne 0x4049e4
push ebx
call dword [ebp - 0x88]
mov esi, eax
cmp esi, ebx
je 0x404cc0
test bh, dl
add al, byte [eax]
add bh, bh
mov ch, 0x4c
push dword [ebp - 0xb4]
push dword [ebp + 0x10]
push esi
call fcn.00404438
add esp, 0xc
cmp word [edi + 6], bx
mov dword [ebp + 0xc], ebx
jbe 0x404a37
pop ebp
or al, 0x76
xor ecx, dword [edi]
mov bh, 0x45
or al, 0x8b
dec ebp
mov esp, 0xff80048d
je 0x4049d2
movzx eax, word [ebp + 0xc]
mov ecx, dword [ebp - 0x44]
lea eax, [eax + eax*4]
push dword [ecx + eax*8 + 0x10]
lea eax, [ecx + eax*8]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
add ecx, dword [ebp + 0x10]
adc byte [ebp + 0x488bc104], cl
adc al, 0x8b
inc eax
or al, 3
dec ebp
adc byte [ebx], al
invalid
add eax, esi
push ecx
push eax
call fcn.00404438
add esp, 0xc
inc dword [ebp + 0xc]
mov ax, word [ebp + 0xc]
cmp ax, word [edi + 6]
jb 0x404a04
call fcn.004044c7
xor al, 0x44
salc
or dword [ebx - 0x1fcc382], 0xffffff89
mov edi, dword [esi + 0x3c]
add edi, esi
mov dword [ebp - 0x88], edi