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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x440
mov dword [esp + 0x40], 0x719f0f43
mov dword [esp + 0x44], 0x75d973ea
mov dword [esp + 0x48], 0x79da77d8
mov dword [esp + 0x4c], 0x7d2b7bdb
mov dword [esp + 0x50], 0x61107f2b
mov dword [esp + 0x54], 0x65026330
mov dword [esp + 0x58], 0x69df670c
mov dword [esp + 0x5c], 0x6dc46bc3
mov dword [esp + 0x60], 0x51ff6fc8
mov dword [esp + 0x64], 0x55c753c9
mov dword [esp + 0x68], 0x59185734
mov dword [esp + 0x6c], 0x5d3a5bec
mov dword [esp + 0x70], 0x410e5f0f
mov dword [esp + 0x74], 0x4512432e
mov dword [esp + 0x78], 0x49264719
mov dword [esp + 0x7c], 0x4de14bf1
mov dword [esp + 0x80], 0xb1184fe2
mov dword [esp + 0x84], 0xb5efb3e4
mov dword [esp + 0x88], 0xb92eb7d4
mov dword [esp + 0x8c], 0xbdeebbee
mov dword [esp + 0x90], 0xa1debfd7
mov dword [esp + 0x94], 0xa532a3e3
mov dword [esp + 0x98], 0xa90aa734
mov dword [esp + 0x9c], 0xad13ab0f
mov dword [esp + 0xa0], 0x910caf0b
mov dword [esp + 0xa4], 0x953993dd
mov dword [esp + 0xa8], 0x99c79700
mov dword [esp + 0xac], 0x9dcf9bcf
mov dword [esp + 0xb0], 0x81f09fc5
mov dword [esp + 0xb4], 0x85d483d5
mov dword [esp + 0xb8], 0x89ee87e4
mov dword [esp + 0xbc], 0x8dc28bc5
mov dword [esp + 0xc0], 0xf1c18f38
mov dword [esp + 0xc4], 0xf59ef3bc
mov dword [esp + 0xc8], 0xf95af794
mov dword [esp + 0xcc], 0xfd57fb53
mov dword [esp + 0xd0], 0xe19eff5b
mov dword [esp + 0xd4], 0xe545e3a9
mov dword [esp + 0xd8], 0xe94be741
mov dword [esp + 0xdc], 0xed81eb79
mov dword [esp + 0xe0], 0xd1abef8c
mov dword [esp + 0xe4], 0xd540d378
mov dword [esp + 0xe8], 0xd979d745
mov dword [esp + 0xec], 0xdd8bdb7f
mov dword [esp + 0xf0], 0xc18ddf8f
mov dword [esp + 0xf4], 0xc5acc39b
mov dword [esp + 0xf8], 0xc9a8c794
mov dword [esp + 0xfc], 0xcda4cb98
mov dword [esp + 0x100], 0x31aecf9c
mov dword [esp + 0x104], 0x35913385
mov dword [esp + 0x108], 0x39953792
mov dword [esp + 0x10c], 0x3d913baa
mov dword [esp + 0x110], 0x21693f6d
mov dword [esp + 0x114], 0x257b2375
mov dword [esp + 0x118], 0x2973274a
mov dword [esp + 0x11c], 0x2d2a2b7e
mov byte [esp + 0x120], 0
mov eax, dword [0x449ce8]
xor esi, esi
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + edx + 0x40]
mov ecx, esi
and ecx, 0x7a
mov ebx, edx
xor ebx, 0x2ff4a13d
add ebx, ecx
mov ebp, ebx
and ebp, edi
add ebp, ebp
mov ecx, ebp
not ecx
and ecx, ebx
not ebx
and ebx, ebp
sub ecx, ebx
mov ebp, 0x31
sub ebp, ecx
sub ebp, edi
lea ebx, [ecx + edi]
add ebx, 0xe
and ebp, 0xeb
and ebx, 0x14
sub ebx, ebp
add bl, 0xec
mov byte [esp + edx + 0x40], bl
inc edx
add esi, 2
cmp edx, 0xe1
jne case.default.0x40fe80
lea edi, [esp + 0x40]
push 0
push 0
push 0
push 0
push edi
call eax
mov ebp, eax
xor eax, eax
test ebp, ebp
setne al
mov eax, dword [eax*4 + 0x444dcc]
mov ecx, 0x6ad20484
xor ecx, dword [0x444dd4]
add eax, ecx
inc eax
jmp eax
cmp word [ecx + 0x1c], di
jne 0x46df40
mov edi, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov bx, word [edx]
cmp bx, word [edi]
jne 0x46dee8
test bx, bx
je 0x46dee4
mov bx, word [edx + 2]
cmp bx, word [edi + 2]
jne 0x46dee8
add edx, 4
add edi, 4
test bx, bx
jne 0x46dec2
mov edx, esi
jmp 0x46deed
sbb edx, edx
or edx, 1
test edx, edx
jne 0x46df36
mov edi, dword [ebp + 0xc]
mov edx, dword [ecx + 0xc]
mov bx, word [edx]
cmp bx, word [edi]
jne 0x46df1d
push ds
test bx, bx
je 0x46df19
mov bx, word [edx + 2]
cmp bx, word [edi + 2]
jne 0x46df1d
add edx, 4
add edi, 4
test bx, bx
jne 0x46def7
mov edx, esi
jmp 0x46df22
sbb edx, edx
or edx, 1
mov ebx, dword [ebp - 8]
test edx, edx
mov di, word [ebp + 0x10]
mov edx, dword [ebp - 4]
je 0x46df40
inc ebx
mov dword [ebp - 8], ebx
jmp 0x46df40
mov ebx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov di, word [ebp + 0x10]
mov ecx, dword [ecx]
cmp ecx, edx
jne 0x46deb2
invalid
invalid
invalid
invalid
push 0x85ffffff
fisttp dword [edi]
test dl, dh
add byte [eax], al
add bh, bh
adc eax, 0x100571c4
test ebx, ebx
je 0x46e044
call dword [0x100571c4]
xor edx, edx
mov dword [ebp - 8], esi
div ebx
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 4]
mov ebx, edx
jmp 0x46dff1
cmp word [edx + 0x1c], di
jne 0x46dff1
sbb al, 0x75
jg 0x46defe
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 8]
dec ebp
or byte [ebx - 0x7499f7be], cl
cmp byte [esi + 0x3b], ah
cmp dword [ebp + 0x1e], esi
mov di, word [eax]
cmp di, word [ecx]
jne 0x46df9e
test di, di
je 0x46df9a
mov di, word [eax + 2]
cmp di, word [ecx + 2]
jne 0x46df9e
add eax, 4
add ecx, 4
test di, di
jne 0x46df78
mov eax, esi
jmp 0x46dfa3
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46dfed
mov ebx, dword [edx + 0xc]
mov eax, ebx
mov ecx, dword [ebp + 0xc]
mov di, word [eax]
cmp di, word [ecx]
jne 0x46dfd5
test di, di
je 0x46dfd1
mov di, word [eax + 2]
cmp di, word [ecx + 2]
jne 0x46dfd5
add eax, 4
add ecx, 4
test di, di
jne 0x46dfaf
mov eax, esi
jmp 0x46dfda
sbb eax, eax
or eax, 1
test eax, eax
je 0x46dfea
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0xc]
je 0x46dffd
inc eax
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
mov di, word [ebp + 0x10]
mov edx, dword [edx]
cmp edx, ebx
jne 0x46df6c
jmp 0x46e06f
mov ecx, ebx
call 0x4a1a11
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
test eax, eax
jne 0x46e06f
mov eax, dword [0x10054000]
cmp eax, 0x10054000
je 0x46e03d
test byte [eax + 0x44], 0x40
je 0x46e03d
cmp byte [eax + 0x41], 1
jb 0x46e03d
push dword [eax + 0x3c]
mov edx, 0x10001ee4
push dword [eax + 0x38]
push 0x22
pop ecx
call 0x45dae7
mov eax, dword [0x10054000]
mov esi, 0x8007000e
jmp 0x46e074
mov esi, 0x80630106
cmp eax, 0x10054000
je 0x46e09b
test byte [eax + 0x44], 0x40
je 0x46e074
cmp byte [eax + 0x41], 1
jb 0x46e074
push dword [eax + 0x3c]
mov edx, 0x10001ee4
push dword [eax + 0x38]
push 0x21
pop ecx
call 0x45dae7
mov eax, dword [0x10054000]
cmp eax, 0x10054000
je 0x46e09b
test byte [eax + 0x44], 0x40
je 0x46e09b
cmp byte [eax + 0x41], 4
jb 0x46e09b
push esi
push dword [eax + 0x3c]
mov edx, 0x10001ee4
push dword [eax + 0x38]
push 0x23
pop ecx
call 0x45db0b
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0x10