Function at 0x40d7e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x4614bb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x684
push ebx
push esi
lea eax, [esp + 0x14]
push edi
mov esi, ecx
push eax
call fcn.0040cc30
add esp, 4
xor ebx, ebx
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x489]
mov byte [esp + 0x488], bl
mov dword [esp + 0x698], ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x488]
push ecx
push 0x104
mov ecx, esi
stosb byte es:[edi], al
call fcn.0040d260
push ebx
lea ecx, [esp + 0x20]
call fcn.00403e90
lea edx, [esp + 0x488]
lea ecx, [esp + 0xc]
push edx
mov byte [esp + 0x69c], 1
call fcn.00447e1a
push 0x47d0ac
lea ecx, [esp + 0x10]
mov byte [esp + 0x69c], 2
call fcn.00448188
push ebx
lea ecx, [esp + 0x1c]
call fcn.004481dc
push eax
lea ecx, [esp + 0x7c]
call fcn.00447f35
lea eax, [esp + 0xc]
lea ecx, [esp + 0x7c]
push eax
call fcn.00447ee5
cmp dword [0x483ff0], ebx
jne 0x40d8c7
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
push ecx
push edx
call fcn.00405790
add esp, 8
test eax, eax
je 0x40d932
mov dword [0x483ff0], 1
lea eax, [esp + 0xc]
mov ecx, esi
push eax
call fcn.00447ee5
mov esi, dword [esi]
lea ecx, [esp + 0x10]
push esi
call fcn.0040f7e0
mov ecx, 0x95
xor eax, eax
lea edi, [esp + 0x231]
mov byte [esp + 0x230], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [esp + 0x6a0]
mov byte [esp + 0x698], 0x12
cmp eax, 2
jne 0x40da6f
push 0x483d7c
lea ecx, [esp + 0x234]
push 0x258
push ecx
push 0x47d0a4
push 0x47d118
jmp 0x40dbb7
lea ecx, [esp + 0xc]
mov dword [0x483ff4], 1
mov byte [esp + 0x698], 1
call fcn.00447dac
lea ecx, [esp + 0x21c]
mov byte [esp + 0x698], 0x11
call fcn.00448567
lea ecx, [esp + 0x1fc]
mov byte [esp + 0x698], 0x10
call fcn.00447dac
lea ecx, [esp + 0x1f8]
mov byte [esp + 0x698], 0xf
call fcn.00447dac
lea ecx, [esp + 0x1f4]
mov byte [esp + 0x698], 0xe
call fcn.00447dac
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x698], 0xd
call fcn.00447dac
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x698], 0xc
call fcn.00440b42
lea ecx, [esp + 0x178]
mov byte [esp + 0x698], 0xb
call fcn.004518d6
lea ecx, [esp + 0x13c]
mov byte [esp + 0x698], 0xa
call fcn.004407f2
lea ecx, [esp + 0x100]
mov byte [esp + 0x698], 9
call fcn.004518d6
lea ecx, [esp + 0xc4]
mov byte [esp + 0x698], 8
call fcn.004518d6
lea ecx, [esp + 0x88]
mov byte [esp + 0x698], 7
call fcn.004518d6
lea ecx, [esp + 0x84]
mov byte [esp + 0x698], 6
call fcn.00447dac
lea ecx, [esp + 0x80]
mov byte [esp + 0x698], 5
call fcn.00447dac
lea ecx, [esp + 0x7c]
mov byte [esp + 0x698], 4
call fcn.00447dac
mov byte [esp + 0x698], 3
jmp 0x40dd16
cmp eax, 1
jne 0x40da95
push 0x483d7c
lea edx, [esp + 0x234]
push 0x258
push edx
push 0x47d0a4
push 0x47d114
jmp 0x40dbb7
cmp eax, 3
jne 0x40dabb
push 0x483d7c
lea eax, [esp + 0x234]
push 0x258
push eax
push 0x47d0a4
push 0x47d110
jmp 0x40dbb7
cmp eax, 4
jne 0x40dae1
push 0x483d7c
lea ecx, [esp + 0x234]
push 0x258
push ecx
push 0x47d0a4
push 0x47d10c
jmp 0x40dbb7
cmp eax, 5
jne 0x40db07
push 0x483d7c
lea edx, [esp + 0x234]
push 0x258
push edx
push 0x47d0a4
push 0x47d108
jmp 0x40dbb7
cmp eax, 6
jne 0x40db2d
push 0x483d7c
lea eax, [esp + 0x234]
push 0x258
push eax
push 0x47d0a4
push 0x47d104
jmp 0x40dbb7
cmp eax, 7
jne 0x40db50
push 0x483d7c
lea ecx, [esp + 0x234]
push 0x258
push ecx
push 0x47d0a4
push 0x47d100
jmp 0x40dbb7
cmp eax, 8
jne 0x40db73
push 0x483d7c
lea edx, [esp + 0x234]
push 0x258
push edx
push 0x47d0a4
push 0x47d0fc
jmp 0x40dbb7
cmp eax, 9
jne 0x40db96
push 0x483d7c
lea eax, [esp + 0x234]
push 0x258
push eax
push 0x47d0a4
push 0x47d0f8
jmp 0x40dbb7
cmp eax, 0x42
jne 0x40dbc0
push 0x483d7c
lea ecx, [esp + 0x234]
push 0x258
push ecx
push 0x47d0a4
push 0x47d0f0
lea ecx, [esp + 0x24]
call fcn.0040f8d0
lea edi, [esp + 0x230]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x40dd4d
lea ecx, [esp + 0x10]
mov byte [esp + 0x698], 2
call fcn.0040f800
lea ecx, [esp + 0xc]
mov byte [esp + 0x698], 1
call fcn.00447dac
lea ecx, [esp + 0x21c]
mov byte [esp + 0x698], 0x21
call fcn.00448567
lea ecx, [esp + 0x1fc]
mov byte [esp + 0x698], 0x20
call fcn.00447dac
lea ecx, [esp + 0x1f8]
mov byte [esp + 0x698], 0x1f
call fcn.00447dac
lea ecx, [esp + 0x1f4]
mov byte [esp + 0x698], 0x1e
call fcn.00447dac
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x698], 0x1d
call fcn.00447dac
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x698], 0x1c
call fcn.00440b42
lea ecx, [esp + 0x178]
mov byte [esp + 0x698], 0x1b
call fcn.004518d6
lea ecx, [esp + 0x13c]
mov byte [esp + 0x698], 0x1a
call fcn.004407f2
lea ecx, [esp + 0x100]
mov byte [esp + 0x698], 0x19
call fcn.004518d6
lea ecx, [esp + 0xc4]
mov byte [esp + 0x698], 0x18
call fcn.004518d6
lea ecx, [esp + 0x88]
mov byte [esp + 0x698], 0x17
call fcn.004518d6
lea ecx, [esp + 0x84]
mov byte [esp + 0x698], 0x16
call fcn.00447dac
lea ecx, [esp + 0x80]
mov byte [esp + 0x698], 0x15
call fcn.00447dac
lea ecx, [esp + 0x7c]
mov byte [esp + 0x698], 0x14
call fcn.00447dac
mov byte [esp + 0x698], 0x13
lea ecx, [esp + 0x78]
call fcn.00447dac
lea ecx, [esp + 0x1c]
mov byte [esp + 0x698], bl
call fcn.00443067
lea ecx, [esp + 0x18]
mov dword [esp + 0x698], 0xffffffff
call fcn.00447dac
mov eax, 1
jmp 0x40deea
mov edx, dword [esp + 0x6a4]
cmp edx, ebx
je 0x40dd7c
lea edi, [esp + 0x230]
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 ecx, [esp + 0x10]
mov byte [esp + 0x698], 2
call fcn.0040f800
lea ecx, [esp + 0xc]
mov byte [esp + 0x698], 1
call fcn.00447dac
lea ecx, [esp + 0x21c]
mov byte [esp + 0x698], 0x30
call fcn.00448567
lea ecx, [esp + 0x1fc]
mov byte [esp + 0x698], 0x2f
call fcn.00447dac
lea ecx, [esp + 0x1f8]
mov byte [esp + 0x698], 0x2e
call fcn.00447dac
lea ecx, [esp + 0x1f4]
mov byte [esp + 0x698], 0x2d
call fcn.00447dac
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x698], 0x2c
call fcn.00447dac
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x698], 0x2b
call fcn.00440b42
lea ecx, [esp + 0x178]
mov byte [esp + 0x698], 0x2a
call fcn.004518d6
lea ecx, [esp + 0x13c]
mov byte [esp + 0x698], 0x29
call fcn.004407f2
lea ecx, [esp + 0x100]
mov byte [esp + 0x698], 0x28
call fcn.004518d6
lea ecx, [esp + 0xc4]
mov byte [esp + 0x698], 0x27
call fcn.004518d6
lea ecx, [esp + 0x88]
mov byte [esp + 0x698], 0x26
call fcn.004518d6
lea ecx, [esp + 0x84]
mov byte [esp + 0x698], 0x25
call fcn.00447dac
lea ecx, [esp + 0x80]
mov byte [esp + 0x698], 0x24
call fcn.00447dac
lea ecx, [esp + 0x7c]
mov byte [esp + 0x698], 0x23
call fcn.00447dac
lea ecx, [esp + 0x78]
mov byte [esp + 0x698], 0x22
call fcn.00447dac
lea ecx, [esp + 0x1c]
mov byte [esp + 0x698], bl
call fcn.00443067
lea ecx, [esp + 0x18]
mov dword [esp + 0x698], 0xffffffff
call fcn.00447dac
xor eax, eax
mov ecx, dword [esp + 0x690]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x690
ret 8