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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x240
mov eax, dword [0x442a0c]
mov dword [esp + 0x40], 0x33a53185
mov dword [esp + 0x44], 0x2fb72da6
mov dword [esp + 0x48], 0x2bbe29bc
mov dword [esp + 0x4c], 0x27712585
mov dword [esp + 0x50], 0x2374216d
mov dword [esp + 0x54], 0x1f7e1d4c
mov dword [esp + 0x58], 0x1bb51940
mov dword [esp + 0x5c], 0x1780158d
mov dword [esp + 0x60], 0x1385118c
mov dword [esp + 0x64], 0xf9d0d83
mov dword [esp + 0x68], 0xbbc0968
mov dword [esp + 0x6c], 0x76605a8
mov dword [esp + 0x70], 0x3520151
mov dword [esp + 0x74], 0x7f2e7d2a
mov dword [esp + 0x78], 0x7b1a7933
mov dword [esp + 0x7c], 0x77ef75db
mov dword [esp + 0x80], 0x733c71e6
mov dword [esp + 0x84], 0x6f256d20
mov dword [esp + 0x88], 0x6be26908
mov dword [esp + 0x8c], 0x672a652a
mov dword [esp + 0x90], 0x63026139
mov dword [esp + 0x94], 0x5fce5d1d
mov dword [esp + 0x98], 0x5bce59c8
mov dword [esp + 0x9c], 0x57f955c9
mov dword [esp + 0xa0], 0x53f051cd
mov dword [esp + 0xa4], 0x4fd74df7
mov dword [esp + 0xa8], 0x4b1d49c4
mov dword [esp + 0xac], 0x47154509
mov dword [esp + 0xb0], 0x4314410f
mov dword [esp + 0xb4], 0xbff0bdef
mov dword [esp + 0xb8], 0xbbe2b9d8
mov dword [esp + 0xbc], 0xb70eb50f
mov dword [esp + 0xc0], 0xb307b11c
mov dword [esp + 0xc4], 0xaffaad18
mov dword [esp + 0xc8], 0xab3ea9c8
mov dword [esp + 0xcc], 0xa73da53d
mov dword [esp + 0xd0], 0xa3c2a13d
mov dword [esp + 0xd4], 0x9f039d23
mov dword [esp + 0xd8], 0x9b01993b
mov dword [esp + 0xdc], 0x97cf9503
mov dword [esp + 0xe0], 0x93d191f0
mov dword [esp + 0xe4], 0x8f1c8d14
mov dword [esp + 0xe8], 0x8b1f891f
mov dword [esp + 0xec], 0x87d18519
mov dword [esp + 0xf0], 0x83d381d1
mov dword [esp + 0xf4], 0xffa8fdb5
mov dword [esp + 0xf8], 0xfbacf9a8
mov dword [esp + 0xfc], 0xf7a0f5a4
mov dword [esp + 0x100], 0xf392f1a0
mov dword [esp + 0x104], 0xef4fed5f
mov dword [esp + 0x108], 0xeb4be976
mov dword [esp + 0x10c], 0xe77fe576
mov dword [esp + 0x110], 0xe3afe1b7
mov dword [esp + 0x114], 0xdf91dd8f
mov dword [esp + 0x118], 0xdb89d98e
mov dword [esp + 0x11c], 0xd7d6d59a
mov dword [esp + 0x120], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xe3
ja 0x40cb33
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 + 0x40]
add ecx, 0x66c1148c
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x44
mov edx, dword [esp]
mov byte [esp + edx + 0x40], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe4
jb 0x40cb00
lea ebp, [esp + 0x40]
push 0
push 0
push 0
push 0
push ebp
call eax
mov esi, eax
xor eax, eax
test esi, esi
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x43db78]
mov eax, dword [0x442a10]
mov dword [esp + 0x40], 0x5756480f
mov word [esp + 0x44], 0
mov byte [esp + 0x46], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x40cbb0
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x40]
add ecx, 0x927b410e
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0xba
mov edx, dword [esp]
mov byte [esp + edx + 0x40], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x40cb80
movzx ecx, word [esp + 0x40]
push 0
push ecx
push 0x442a40
push esi
call eax
xor ecx, ecx
mov dword [esp + 0xc], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43db80]
xor ebx, ebx
jmp dword [0x43dbec]
mov ebx, dword [esp + 0x254]
jmp dword [0x43db88]
mov eax, dword [0x442a14]
mov dword [esp + 0x10], 0x69ea6b64
mov word [esp + 0x14], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x40cc40
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0xc7b847e7
xor ecx, edx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x40]
add cl, 0x7d
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x40cc10
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], 0x235d2150
mov dword [esp + 0x44], 0x27522557
mov word [esp + 0x48], 0x5958
mov dword [esp + 0x4a], 0
mov byte [esp + 0x4e], 0
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 0xe
ja 0x40ccb3
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 4]
mov edi, dword [esp + 4]
movzx edi, byte [esp + edi + 0x40]
add edx, 0xebde7fb8
xor edx, edi
mov dword [esp], edx
mov edx, dword [esp]
add dl, 0x68
mov edi, dword [esp + 4]
mov byte [esp + edi + 0x40], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 0xf
jb 0x40cc80
push ecx
push 0
push 0
push 0
push ebx
push ebp
push dword [esp + 0x24]
call eax
jmp case.0x40cbcb.2
push ecx
push 0
push 0
push 0
push ebx
push ebp
push dword [esp + 0x24]
call eax
jmp dword [0x43db90]
mov eax, dword [0x442a14]
mov dword [esp + 0x10], 0x69ea6b64
mov word [esp + 0x14], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x40cd40
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0xc7b847e7
xor ecx, edx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x40]
add cl, 0x7d
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x40cd10
lea edx, [esp + 0x4a]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], 0x235d2150
mov dword [esp + 0x44], 0x27522557
mov word [esp + 0x48], 0x5958
mov byte [edx + 4], 0
mov dword [edx], 0
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 0xe
ja 0x40ccd0
nop
nop
mov edx, dword [esp + 4]
mov edi, dword [esp + 4]
movzx edi, byte [esp + edi + 0x40]
add edx, 0xebde7fb8
xor edx, edi
mov dword [esp], edx
mov edx, dword [esp]
add dl, 0x68
mov edi, dword [esp + 4]
mov byte [esp + edi + 0x40], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 0xf
jb 0x40cd80
jmp 0x40ccd0
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43db98]
xor ebx, ebx
jmp 0x40d07b
xor ecx, ecx
mov edx, dword [esp + 0x26c]
test edx, edx
setg cl
mov dword [esp + 8], eax
jmp dword [ecx*4 + 0x43dba0]
movzx ecx, byte [0x442b44]
mov ebx, dword [esp + 0x268]
jmp dword [ecx*4 + 0x43dba8]
push edx
push edx
push edx
push edx
push eax
call dword [0x442a1c]
mov eax, dword [esp + 8]
movzx ecx, byte [0x442b44]
mov ebx, dword [esp + 0x268]
jmp dword [ecx*4 + 0x43dba8]
mov dword [esp + 0x10], 0xf76509c7
mov dword [esp + 0x14], 0xf365f567
mov dword [esp + 0x18], 0xff53f159
mov dword [esp + 0x1c], 0xfb1afd3a
mov dword [esp + 0x20], 0xe745f95b
mov dword [esp + 0x24], 0xe348e54b
mov dword [esp + 0x28], 0xef7be143
mov dword [esp + 0x2c], 0xeb49ed77
mov dword [esp + 0x30], 0xd74fe946
mov dword [esp + 0x34], 0xd317d544
mov word [esp + 0x38], 0xd1d0
mov dword [esp + 0x3a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x2d
ja 0x40cec0
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0x7f7bb77e
xor ecx, edx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x40]
add cl, 0x8a
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x2e
jb 0x40ce90
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x40cef2
lea ebp, [esp + 0x40]
lea edx, [esp + 0x12]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebp], cx
add ebp, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40cee0
mov word [ebp], 0
movzx ecx, word [0x442b46]
test cx, cx
je 0x40cf26
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebp + edx], cx
movzx ecx, word [edx + 0x442b48]
add edx, 2
test cx, cx
jne 0x40cf10
add ebp, edx
mov word [ebp], 0
mov ecx, dword [0x442a20]
mov dword [esp + 0x10], 0x37161918
mov word [esp + 0x14], 0
mov byte [esp + 0x16], 0
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 6
ja 0x40cf93
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 4]
mov edi, dword [esp + 4]
movzx edi, byte [esp + edi + 0x10]
add edx, 0xebd74906
xor edx, edi
mov dword [esp], edx
mov edx, dword [esp]
add dl, 0xe2
mov edi, dword [esp + 4]
mov byte [esp + edi + 0x10], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 7
jb 0x40cf60
lea edx, [esp + 0x40]
push dword [esp + 0x10]
push 0xffffffffffffffff
push edx
push eax
call ecx
mov eax, dword [esp + 8]
xor ecx, ecx
mov edi, dword [esp + 0x258]
mov edx, edi
neg edx
sbb ecx, ecx
push 0
push ebx
push dword [esp + 0x268]
push dword [esp + 0x268]
push ecx
push edi
push eax
call dword [0x442a24]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43dbb0]
xor ebx, ebx
mov ecx, dword [esp + 8]
jmp case.0x40cfd5.6
mov edi, dword [esp + 0x264]
jmp dword [0x43dbbc]
mov dword [esp + 0x40], 0
lea eax, [esp + 0x40]
push eax
push ebx
push edi
push dword [esp + 0x14]
call dword [0x442a34]
nop
nop
nop
mov dword [esp + 0x40], 0
lea eax, [esp + 0x40]
push eax
push ebx
push edi
push dword [esp + 0x14]
call dword [0x442a34]
jmp dword [0x43dbc0]
xor edx, edx
test eax, eax
setne dl
xor ebx, ebx
mov ecx, dword [esp + 8]
jmp dword [edx*4 + 0x43dbc8]
push 0
push ecx
call dword [0x442a28]
mov ecx, dword [esp + 8]
xor edx, edx
test eax, eax
setne dl
xor ebx, ebx
jmp dword [edx*4 + 0x43dbd0]
mov eax, dword [case.0x40cfd5.6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov bl, 1
jmp eax
push ecx
call dword [0x442a38]
push dword [esp + 0xc]
call dword [0x442a38]
jmp dword [0x43dbec]
push esi
call dword [0x442a38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call dword [0x442a38]
jmp dword [0x43dbf0]
mov eax, dword [case.0x40cb4d.35]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, ebx
add esp, 0x240
pop esi
pop edi
pop ebx
pop ebp
ret