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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x23c
mov eax, dword [0x440ad4]
mov dword [esp + 0x3c], 0x36d014d
mov dword [esp + 0x40], 0x76f057e
mov dword [esp + 0x44], 0xb660964
mov dword [esp + 0x48], 0xf210d6d
mov dword [esp + 0x4c], 0x133c1125
mov dword [esp + 0x50], 0x17361524
mov dword [esp + 0x54], 0x1b4d1930
mov dword [esp + 0x58], 0x1f701d75
mov dword [esp + 0x5c], 0x234d2144
mov dword [esp + 0x60], 0x27552553
mov dword [esp + 0x64], 0x2b642908
mov dword [esp + 0x68], 0x2f0e2d78
mov dword [esp + 0x6c], 0x33023101
mov dword [esp + 0x70], 0x3706351a
mov dword [esp + 0x74], 0x3b1a3903
mov dword [esp + 0x78], 0x3f573d6b
mov dword [esp + 0x7c], 0x4374412e
mov dword [esp + 0x80], 0x477d4570
mov dword [esp + 0x84], 0x4b324968
mov dword [esp + 0x88], 0x4f7a4d7a
mov dword [esp + 0x8c], 0x53725179
mov dword [esp + 0x90], 0x57265515
mov dword [esp + 0x94], 0x5b365928
mov dword [esp + 0x98], 0x5f095d39
mov dword [esp + 0x9c], 0x63006105
mov dword [esp + 0xa0], 0x670f652f
mov dword [esp + 0xa4], 0x6b45691c
mov dword [esp + 0xa8], 0x6f5d6d59
mov dword [esp + 0xac], 0x735c7147
mov dword [esp + 0xb0], 0x77407547
mov dword [esp + 0xb4], 0x7b527958
mov dword [esp + 0xb8], 0x7f367d37
mov dword [esp + 0xbc], 0x83cf81d4
mov dword [esp + 0xc0], 0x87aa85c8
mov dword [esp + 0xc4], 0x8be689a8
mov dword [esp + 0xc8], 0x8fe58de5
mov dword [esp + 0xcc], 0x93b291f5
mov dword [esp + 0xd0], 0x97f395d3
mov dword [esp + 0xd4], 0x9bf199fb
mov dword [esp + 0xd8], 0x9fb79df3
mov dword [esp + 0xdc], 0xa3e1a180
mov dword [esp + 0xe0], 0xa7d4a5cc
mov dword [esp + 0xe4], 0xabc7a9c7
mov dword [esp + 0xe8], 0xaf81adc9
mov dword [esp + 0xec], 0xb383b181
mov dword [esp + 0xf0], 0xb798b58d
mov dword [esp + 0xf4], 0xbb94b988
mov dword [esp + 0xf8], 0xbf90bd8c
mov dword [esp + 0xfc], 0xc3e2c1f0
mov dword [esp + 0x100], 0xc7a7c597
mov dword [esp + 0x104], 0xcbabc9ae
mov dword [esp + 0x108], 0xcfa7cdbe
mov dword [esp + 0x10c], 0xd3e7d1ff
mov dword [esp + 0x110], 0xd7e1d5e7
mov dword [esp + 0x114], 0xdbe9d9f6
mov dword [esp + 0x118], 0xdfdeddea
mov dword [esp + 0x11c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xe3
ja 0x40cd33
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x3c]
add ecx, 0xb5667680
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x80
mov edx, dword [esp]
mov byte [esp + edx + 0x3c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe4
jb 0x40cd00
lea ecx, [esp + 0x3c]
push 0
push 0
push 0
push 0
push ecx
call eax
mov esi, eax
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x43bcb4]
xor ebx, ebx
jmp 0x40d03a
jmp dword [0x43bcc0]
mov eax, dword [0x440ad8]
mov dword [esp + 0x3c], 0x4b44429b
mov byte [esp + 0x40], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 4
ja 0x40cdb0
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x3c]
add ecx, 0x24352af5
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x4d
mov edx, dword [esp]
mov byte [esp + edx + 0x3c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 5
jb 0x40cd80
movzx ecx, word [esp + 0x3c]
push 0
push ecx
push 0x440b08
push esi
call eax
mov eax, dword [0x440ad8]
mov dword [esp + 0x3c], 0x4b44429b
mov byte [esp + 0x40], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 4
ja 0x40ce20
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x3c]
add ecx, 0x24352af5
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x4d
mov edx, dword [esp]
mov byte [esp + edx + 0x3c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 5
jb 0x40cdf0
movzx ecx, word [esp + 0x3c]
push 0
push ecx
push 0x440b08
push esi
call eax
jmp dword [0x43bcc4]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43bccc]
xor ebx, ebx
jmp 0x40d033
mov ecx, dword [0x440adc]
mov dword [esp + 4], 0xa322adac
mov dword [esp + 8], 0
mov edx, dword [esp + 8]
cmp edx, 3
ja 0x40cea5
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 8]
mov ebp, dword [esp + 8]
movzx ebp, byte [esp + ebp + 4]
add edx, 0x74f506e6
xor edx, ebp
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x3c]
add dl, 0xb6
mov ebp, dword [esp + 8]
mov byte [esp + ebp + 4], dl
inc dword [esp + 8]
mov edx, dword [esp + 8]
cmp edx, 4
jb 0x40ce70
mov edx, dword [esp + 4]
mov dword [esp + 0x3c], 0x2bd92ddc
mov dword [esp + 0x40], 0xd72a29d7
mov word [esp + 0x44], 0xd5d4
mov dword [esp + 0x46], 0
mov dword [esp], 0
mov ebp, dword [esp]
cmp ebp, 0xd
ja 0x40cf10
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, dword [esp]
mov edi, dword [esp]
movzx edi, byte [esp + edi + 0x3c]
add ebp, 0x2068de7a
xor ebp, edi
mov dword [esp + 8], ebp
mov ebx, dword [esp + 8]
add bl, 0xaa
mov edi, dword [esp]
mov byte [esp + edi + 0x3c], bl
inc dword [esp]
mov edi, dword [esp]
cmp edi, 0xe
jb 0x40cee0
push edx
push 0
push 0
push 0
push dword [esp + 0x260]
lea ebp, [esp + 0x50]
push ebp
mov dword [esp + 0x50], eax
push eax
call ecx
mov edi, eax
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x43bcd4]
xor ebx, ebx
jmp 0x40d029
xor eax, eax
mov ecx, dword [esp + 0x268]
test ecx, ecx
setg al
jmp dword [eax*4 + 0x43bcdc]
movzx eax, byte [0x440c0c]
jmp dword [eax*4 + 0x43bce4]
push ecx
push ecx
push ecx
push ecx
push edi
call dword [0x440ae4]
movzx eax, byte [0x440c0c]
jmp dword [eax*4 + 0x43bce4]
xor ebx, ebx
mov ecx, dword [esp + 0x254]
mov eax, ecx
neg eax
mov eax, 0
sbb eax, eax
push 0
mov ebp, dword [esp + 0x268]
push ebp
push dword [esp + 0x264]
push dword [esp + 0x264]
push eax
push ecx
push edi
call dword [0x440aec]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43bcfc]
mov dword [esp + 0x3c], 0
lea eax, [esp + 0x3c]
push eax
push ebp
push dword [esp + 0x268]
push edi
call dword [0x440afc]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x43bd04]
push 0
push edi
call dword [0x440af0]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x43bd0c]
mov bl, 1
jmp dword [0x43bd20]
mov eax, dword [case.0x40cf33.10]
nop
nop
nop
jmp eax
push edi
call dword [0x440b00]
push dword [esp + 0x38]
call dword [0x440b00]
push esi
call dword [0x440b00]
mov eax, dword [case.0x40cd4b.34]
nop
jmp eax
mov eax, ebx
add esp, 0x23c
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x43bcf0]
mov dword [esp + 8], 0x9b0d995b
mov dword [esp + 0xc], 0x872d8513
mov dword [esp + 0x10], 0x832f8129
mov dword [esp + 0x14], 0x8f6e8d56
mov dword [esp + 0x18], 0x8b2d892f
mov dword [esp + 0x1c], 0x77d875d7
mov dword [esp + 0x20], 0x73e771d7
mov dword [esp + 0x24], 0x7fd97de3
mov dword [esp + 0x28], 0x7be379da
mov dword [esp + 0x2c], 0x67a365f4
mov dword [esp + 0x30], 0x6160
mov byte [esp + 0x34], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x2c
ja 0x40d101
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 8]
add eax, 0x653e17ec
xor eax, ecx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x8c
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 8], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x2d
jb 0x40d0d0
movzx ecx, word [esp + 8]
lea eax, [esp + 0x3c]
test cx, cx
je 0x40d131
lea edx, [esp + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40d120
mov word [eax], 0
movzx ecx, word [0x440c0e]
test cx, cx
je 0x40d165
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x440c10]
add edx, 2
test cx, cx
jne 0x40d150
add eax, edx
mov word [eax], 0
mov eax, dword [0x440ae8]
mov dword [esp + 4], 0x23020100
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 3
ja 0x40d1c4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 4]
lea ebp, [ecx + edx]
and ecx, edx
add ecx, ecx
sub ebp, ecx
add ebp, 0xae5bd100
mov dword [esp + 8], ebp
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov byte [esp + edx + 4], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 4
jb 0x40d190
lea ecx, [esp + 0x3c]
push dword [esp + 4]
push 0xffffffffffffffff
push ecx
push edi
call eax
lea ebp, [esp + 0x3c]
jmp case.0x40cf33.7
lea ecx, [esp + 0x3c]
push dword [esp + 4]
push 0xffffffffffffffff
push ecx
push edi
call eax
jmp dword [0x43bcf4]
mov dword [esp + 8], 0x9b0d995b
mov dword [esp + 0xc], 0x872d8513
mov dword [esp + 0x10], 0x832f8129
mov dword [esp + 0x14], 0x8f6e8d56
mov dword [esp + 0x18], 0x8b2d892f
mov dword [esp + 0x1c], 0x77d875d7
mov dword [esp + 0x20], 0x73e771d7
mov dword [esp + 0x24], 0x7fd97de3
mov dword [esp + 0x28], 0x7be379da
mov dword [esp + 0x2c], 0x67a365f4
mov dword [esp + 0x30], 0x6160
mov byte [esp + 0x34], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x2c
ja 0x40d2a1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 8]
add eax, 0x653e17ec
xor eax, ecx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x8c
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 8], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x2d
jb 0x40d270
movzx ecx, word [esp + 8]
mov eax, ebp
test cx, cx
je 0x40d2d1
lea edx, [esp + 0xa]
lea eax, [esp + 0x3c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40d2c0
mov word [eax], 0
movzx ecx, word [0x440c0e]
test cx, cx
je 0x40d305
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x440c10]
add edx, 2
test cx, cx
jne 0x40d2f0
add eax, edx
mov word [eax], 0
mov eax, dword [0x440ae8]
mov dword [esp + 4], 0x23020100
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 3
ja 0x40d1e0
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 4]
lea ebx, [ecx + edx]
and ecx, edx
add ecx, ecx
sub ebx, ecx
add ebx, 0xae5bd100
mov dword [esp + 8], ebx
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov byte [esp + edx + 4], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 4
jb 0x40d330
jmp 0x40d1e0