Function at 0x41b338
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
sub esp, 0x1d4
push ebx
push ebp
push esi
push edi
mov word [esp + 0x14], 0x2836
xor ecx, ecx
mov byte [esp + 0x16], 0x3c
mov al, byte [esp + ecx + 0x14]
xor al, 0x5b
mov byte [esp + ecx + 0x8c], al
inc ecx
cmp ecx, 3
jl 0x41b350
mov byte [esp + 0x8f], 0
xor ecx, ecx
mov dword [esp + 0x1c], 0xd8ddd3d0
mov word [esp + 0x20], 0xced9
mov al, byte [esp + ecx + 0x1c]
xor al, 0xbc
mov byte [esp + ecx + 0x98], al
inc ecx
cmp ecx, 6
jl 0x41b37c
movzx eax, byte [0x42baa6]
lea edx, [esp + 0x98]
imul eax, eax, 0x4b
lea ecx, [esp + 0x8c]
mov byte [esp + 0x9e], 0
mov byte [0x42baa6], al
mov eax, dword [0x42ba98]
add eax, 0x21e9896f
mov dword [0x42ba8c], eax
call fcn.0041d9c2
movzx ecx, word [0x42ba94]
mov ebp, eax
mov eax, dword [0x42ba98]
sub ecx, 0x6a2db866
or eax, 0xf9ed58cc
mov dword [0x42ba90], ecx
mov dword [0x42ba98], eax
test ebp, ebp
je 0x41bd40
add eax, 0xd854f4a1
mov dword [0x42ba98], eax
movzx eax, word [0x42ba88]
sub eax, 0x6d5bad76
mov dword [0x42ba90], eax
mov al, byte [0x42ba8a]
add al, 0x20
mov byte [0x42baa6], al
movzx eax, byte [0x42ba84]
imul eax, eax, 0xe0
push 0x1000
mov byte [0x42ba8a], al
call fcn.0040570b
movzx ebx, byte [0x42baa6]
mov edi, eax
xor ebx, 0x1a6e73f3
mov dword [0x42ba8c], ebx
pop ecx
test edi, edi
je 0x41bd24
movzx edx, byte [0x42ba84]
mov eax, 0xd0cf
and dx, ax
and dword [esp + 0x2c], 0
mov eax, dword [0x42ba98]
and bl, 0xc0
mov ecx, eax
mov word [esp + 0x10], 0x7c
xor al, 0x97
mov word [0x42ba94], dx
mov byte [0x42ba84], al
and ecx, 0x8d46ca40
movzx eax, bl
imul eax, eax, 0xdb0b8e9f
mov dword [0x42ba90], ecx
mov byte [0x42ba8a], bl
mov dword [0x42ba98], eax
lea eax, [ecx + 0x30fd]
mov word [0x42ba88], ax
movzx eax, dx
imul eax, eax, 0xe90bb85e
mov dword [0x42ba8c], eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x14]
push eax
push ebp
call fcn.00405d9c
mov esi, eax
add esp, 0xc
test esi, esi
je 0x41bcee
mov dword [esp + 0x1c], 0xff
movzx ecx, word [0x42ba94]
mov eax, 0xfec6
and dword [esp + 0x18], 0
imul ecx, eax
movzx eax, byte [0x42ba8a]
add eax, 0x8f45214c
mov word [esp + 0x14], 0x20
mov dword [0x42ba98], eax
add al, 2
mov byte [0x42ba84], al
mov eax, dword [0x42ba90]
and eax, 0xe1d3368
mov word [0x42ba88], cx
mov dword [0x42ba8c], eax
or cl, 0x9c
lea eax, [esp + 0x14]
mov byte [0x42baa6], cl
push eax
push esi
call fcn.00405c00
pop ecx
pop ecx
test eax, eax
je 0x41b59a
movzx eax, byte [0x42ba8a]
imul ecx, eax, 0x91
mov al, cl
mov byte [0x42baa6], cl
and al, 0x46
mov byte [0x42ba84], al
imul eax, dword [0x42ba98], 0x1149
mov word [0x42ba94], ax
movzx eax, cl
mov ecx, esi
and eax, 0x62e67725
mov dword [0x42ba8c], eax
mov eax, 0xf03a
add word [0x42ba88], ax
call fcn.0042281a
mov dword [esp + 0x18], eax
mov ebx, dword [0x42ba90]
lea edx, [ebx + 0x7a]
or ebx, 0xea61
movzx eax, dl
mov cl, dl
xor eax, 0xa1a70f9a
mov byte [0x42ba84], dl
mov dword [0x42ba98], eax
xor cl, 0x48
mov eax, 0x1e5
mov byte [0x42ba8a], cl
or ax, word [0x42ba88]
mov word [0x42ba94], ax
movzx eax, bx
or eax, 0xd5511f1b
mov word [0x42ba88], bx
mov dword [0x42ba8c], eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x14]
push eax
push 0
call fcn.00405d9c
movzx ecx, byte [0x42baa6]
mov edx, 0x3dcc
sub cx, dx
add esp, 0xc
mov dl, byte [0x42ba84]
cmp byte [eax], 0x31
movzx ebx, cx
movzx esi, cx
mov word [0x42ba88], cx
lea ecx, [edx - 0x7a]
mov byte [0x42ba8a], cl
jne 0x41b646
add dl, 0x65
and cl, 0x20
or cl, 0x57
mov byte [0x42ba8a], dl
mov byte [0x42baa6], cl
lea eax, [esi - 0x164]
xor bl, 0x39
mov word [0x42ba94], ax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x14]
mov byte [0x42ba84], bl
push eax
push 0
call fcn.00405d9c
mov cl, byte [0x42ba94]
add esp, 0xc
and dword [0x42ba98], 0xd3533207
or cl, 0xce
mov esi, eax
mov byte [0x42baa6], cl
movzx ecx, word [0x42ba88]
lea eax, [esp + 0x94]
push eax
sub ecx, 0x18b6e37c
push esi
mov dword [0x42ba8c], ecx
call fcn.00405b40
pop ecx
mov edx, eax
mov ecx, esi
call fcn.0040f780
mov si, word [0x42ba94]
mov bl, byte [0x42ba84]
movzx edx, si
mov dword [esp + 0x8c], eax
mov al, bl
pop ecx
xor al, 0xb7
lea ecx, [edx - 0x249a6db2]
mov byte [0x42ba8a], al
xor edx, 0xf5944b44
mov dword [0x42ba90], ecx
cmp dword [esp + 0x88], 0
mov dword [0x42ba8c], edx
je 0x41bc9f
push 0x72
pop eax
mov word [esp + 0x24], 0x7a6b
xor ecx, ecx
mov byte [esp + 0x26], al
mov byte [esp + 0x27], 0x6f
mov al, byte [esp + ecx + 0x24]
xor al, 0x1f
movzx eax, al
mov word [esp + ecx*2 + 0xa0], ax
inc ecx
cmp ecx, 4
jl 0x41b711
mov cl, byte [0x42ba88]
xor eax, eax
mov word [esp + 0xa8], ax
mov edx, 0x1a52823b
movzx eax, bl
and eax, 0x3f9c6a07
mov dword [0x42ba98], eax
mov al, cl
xor al, 0xf6
xor cl, 0x9d
mov byte [0x42ba8a], al
movzx eax, cl
mov byte [0x42baa6], cl
mov ecx, 0x7511
add ax, cx
xor ecx, ecx
push 0x800
mov word [0x42ba94], ax
inc ecx
lea eax, [esp + 0xa4]
push edi
push eax
call fcn.004155a6
call eax
test eax, eax
je 0x41bc5d
push 0x5c
pop eax
mov word [esp + 0x90], ax
xor eax, eax
mov word [esp + 0x92], ax
xor ecx, ecx
mov dword [esp + 0x28], 0xccd1cc87
mov al, byte [esp + ecx + 0x28]
xor al, 0xa9
movzx eax, al
mov word [esp + ecx*2 + 0xac], ax
inc ecx
cmp ecx, 4
jl 0x41b7ac
mov cl, byte [0x42ba90]
xor eax, eax
mov word [esp + 0xb4], ax
mov al, cl
and al, 0x74
sub cl, 6
mov byte [0x42ba8a], al
movzx eax, cl
lea ecx, [esp + 0x120]
imul eax, eax, 0x8580f089
push 0xf
pop edx
mov dword [0x42ba8c], eax
sub al, 0xb
mov byte [0x42ba84], al
call fcn.0042254a
imul eax, dword [0x42ba8c], 0xdafe
mov word [0x42ba94], ax
mov eax, dword [0x42ba90]
and eax, 0xb32e80b1
mov dword [0x42ba98], eax
lea eax, [esp + 0x90]
push eax
push edi
call fcn.00405bcb
mov eax, dword [0x42ba98]
or eax, 0xbfaf
sub eax, 0x5182
mov word [0x42ba88], ax
lea eax, [esp + 0x128]
push eax
push edi
call fcn.00405bcb
mov ax, word [0x42ba88]
mov ecx, 0x31ec
and ax, cx
mov byte [0x42ba84], 0
mov word [0x42ba94], ax
lea eax, [esp + 0xbc]
push eax
push edi
call fcn.00405bcb
movzx eax, byte [0x42ba84]
mov ecx, 0x7f52
push dword [esp + 0xac]
mov edx, dword [esp + 0xa4]
sub ax, cx
sub dword [0x42ba90], 0xb96115a
mov ecx, edi
mov word [0x42ba88], ax
call fcn.004226f6
add esp, 0x1c
test al, al
je 0x41bc40
movzx eax, byte [0x42baa6]
mov bl, byte [0x42ba88]
add eax, 0x353f8612
push 0x40
mov dword [0x42ba98], eax
or bl, 0xf3
lea eax, [esp + 0xe0]
mov byte [0x42ba8a], bl
push 0
push eax
mov dword [esp + 0xe4], 0x44
call fcn.00403960
movzx eax, bl
add esp, 0xc
imul ecx, eax, 0x81
mov edx, 0x322e7433
xor eax, eax
mov ebx, dword [esp + 0x18]
mov word [esp + 0x108], ax
movzx eax, byte [0x42ba84]
or eax, 0xd70869ba
mov dword [0x42ba90], eax
movzx eax, cl
mov byte [0x42baa6], cl
mov ecx, 0x6df3
sub ax, cx
xor ecx, ecx
mov word [0x42ba88], ax
inc ecx
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0xdc]
push eax
xor eax, eax
push eax
push eax
push 0x8000000
push eax
push eax
push eax
push ebx
push edi
call fcn.004155a6
call eax
test eax, eax
je 0x41bc26
push 0x72
pop eax
mov dword [esp + 0x38], 0x7d2a6d39
xor ecx, ecx
mov byte [esp + 0x3c], 0x6d
mov edx, 0xff
mov byte [esp + 0x3d], al
mov dword [esp + 0x3e], 0x757d6b7e
mov dword [esp + 0x42], 0x6d392a7d
mov dword [esp + 0x46], 0x7e6b6f7c
mov dword [esp + 0x4a], 0x50392a6f
mov dword [esp + 0x4e], 0x6d7d392a
mov dword [esp + 0x52], 0x7873772a
mov dword [esp + 0x56], 0x2a6f7e7f
mov dword [esp + 0x5a], 0x2a797739
mov dword [esp + 0x5e], 0x392a3f3b
mov dword [esp + 0x62], 0x2c2a7c7e
mov dword [esp + 0x66], 0x2c7d762f
mov dword [esp + 0x6a], 0x787e392a
mov dword [esp + 0x6e], 0x61662c2a
mov dword [esp + 0x72], 0x796e7873
mov dword [esp + 0x76], 0x7a4b7d81
mov dword [esp + 0x7a], 0x79795a7a
mov dword [esp + 0x7e], 0x762f6676
mov word [esp + 0x82], 0x2c7d
movzx eax, byte [esp + ecx + 0x38]
sub ax, 0xa
and ax, dx
mov word [esp + ecx*2 + 0x140], ax
inc ecx
cmp ecx, 0x4c
jl 0x41ba1b
mov cl, byte [0x42ba8a]
xor eax, eax
mov word [esp + 0x1d8], ax
mov al, cl
and al, 0xe7
or cl, 0xd8
mov byte [0x42baa6], al
mov eax, dword [0x42ba90]
or eax, 0x43805da3
mov byte [0x42ba84], cl
mov dword [0x42ba90], eax
and eax, 0xe646dd65
mov dword [0x42ba8c], eax
lea eax, [esp + 0x120]
push eax
lea eax, [esp + 0x144]
push edi
push eax
call fcn.00422d73
movzx ecx, byte [0x42baa6]
mov esi, eax
mov eax, 0xffd3
add esp, 0xc
or cx, ax
mov word [0x42ba94], cx
test esi, esi
je 0x41bc61
push 0x72
mov dword [esp + 0x34], 0xe1fbfdd1
xor ecx, ecx
mov word [esp + 0x38], 0xf3fe
mov byte [esp + 0x3a], 0xf1
pop edx
movzx eax, byte [esp + ecx + 0x30]
add ax, dx
and ax, word [esp + 0x1c]
mov word [esp + ecx*2 + 0xb8], ax
inc ecx
cmp ecx, 7
jl 0x41bac2
mov ecx, dword [0x42ba98]
xor eax, eax
mov word [esp + 0xc6], ax
mov edx, 0x1a52823b
push 0x800
push edi
lea eax, [ecx + 0x2f60]
or cl, 0x33
mov word [0x42ba88], ax
movzx eax, byte [0x42ba84]
imul eax, eax, 0x605f1f3f
mov byte [0x42ba84], cl
xor ecx, ecx
inc ecx
mov dword [0x42ba90], eax
lea eax, [esp + 0xc0]
push eax
call fcn.004155a6
call eax
test eax, eax
je 0x41bc0a
movzx eax, byte [0x42baa6]
xor eax, 0x5fe145ef
mov dword [0x42ba90], eax
mov al, byte [0x42ba88]
sub al, 0x31
mov byte [0x42ba8a], al
mov eax, dword [0x42ba98]
add eax, 0x17aa5c48
push 0x44
mov dword [0x42ba8c], eax
lea eax, [esp + 0xdc]
push 0
push eax
call fcn.00403960
mov al, byte [0x42ba98]
add esp, 0xc
or al, 0xe0
mov dword [esp + 0xd8], 0x44
mov byte [0x42ba84], al
xor ecx, ecx
movzx eax, word [0x42ba88]
mov edx, 0x322e7433
add eax, 0x277612ae
inc ecx
mov dword [0x42ba98], eax
xor eax, eax
mov word [esp + 0x108], ax
mov eax, 0xcb9b
add word [0x42ba94], ax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0xdc]
push eax
xor eax, eax
push eax
push eax
push 0x8000000
push eax
push eax
push eax
push esi
push edi
call fcn.004155a6
call eax
test eax, eax
jne 0x41bc0a
mov ecx, dword [0x42ba8c]
mov al, cl
add al, 0x27
mov byte [0x42baa6], al
movzx eax, byte [0x42ba8a]
add eax, 0x4ba58fef
mov dword [0x42ba90], eax
jmp 0x41bc10
mov ecx, dword [0x42ba8c]
xor ecx, 0xd453
push esi
mov word [0x42ba88], cx
call fcn.004056f0
pop ecx
jmp 0x41bc61
mov al, byte [0x42ba8c]
add al, 0x66
mov byte [0x42baa6], al
mov al, byte [0x42ba94]
or al, 0xd8
mov byte [0x42ba8a], al
jmp 0x41bc61
mov al, byte [0x42ba8c]
sub al, 0xb
mov byte [0x42baa6], al
movzx eax, word [0x42ba88]
add eax, 0x27e4faf9
mov dword [0x42ba90], eax
mov ebx, dword [esp + 0x18]
mov eax, dword [0x42ba90]
push dword [esp + 0x88]
add eax, 0x1c28
mov word [0x42ba94], ax
movzx eax, byte [0x42ba8a]
imul eax, eax, 0x20f80e0
mov dword [0x42ba8c], eax
call fcn.004056f0
mov edx, dword [0x42ba8c]
mov si, word [0x42ba94]
pop ecx
jmp 0x41bca3
mov ebx, dword [esp + 0x18]
movzx eax, si
sub dl, 0x5e
or eax, 0xd3f0d0d
mov byte [0x42ba84], dl
push ebx
mov dword [0x42ba98], eax
call fcn.004056f0
movzx eax, byte [0x42baa6]
add eax, 0x1d58e5b5
mov dword [0x42ba8c], eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x18]
push eax
push 0
call fcn.00405d9c
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x41b4e7
movzx eax, byte [0x42baa6]
mov ecx, dword [0x42ba90]
imul eax, eax, 0x5c
add ecx, 0xffffdb6d
push edi
mov word [0x42ba88], cx
mov byte [0x42baa6], al
movzx eax, cx
xor eax, 0x3bc2e201
mov dword [0x42ba8c], eax
call fcn.004056f0
pop ecx
movzx eax, byte [0x42ba8a]
mov ecx, 0xd183
xor ax, cx
push ebp
mov word [0x42ba94], ax
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1d4
ret