Function at 0x40a770
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x4b5383
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x140
push ebx
push ebp
push esi
push edi
lea ecx, [esp + 0x58]
mov dword [esp + 0x48], 0
call fcn.0040b080
lea ecx, [esp + 0x80]
call fcn.0040b080
lea ecx, [esp + 0xa8]
call fcn.0040b080
lea ecx, [esp + 0xe0]
call fcn.00414ab0
lea ecx, [esp + 0xfc]
call fcn.00406850
lea eax, [esp + 0x27]
lea ecx, [esp + 0x2c]
push eax
mov dword [esp + 0x15c], 2
call fcn.00441c50
mov edi, 0x4f01b0
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x158], 3
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4f01b0
push ecx
push 0x4f01b0
lea ecx, [esp + 0x34]
call fcn.00404480
lea ecx, [esp + 0x12]
mov byte [esp + 0x158], 5
push ecx
lea ecx, [esp + 0x3c]
call fcn.00441c50
mov edi, 0x4e592c
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x158], 6
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4e592c
push ecx
push 0x4e592c
lea ecx, [esp + 0x40]
call fcn.00404480
mov ebp, dword [esp + 0x164]
lea edx, [esp + 0x2c]
lea eax, [esp + 0x38]
push edx
lea ecx, [esp + 0x1c]
push eax
mov bl, 7
push ecx
mov ecx, ebp
mov byte [esp + 0x164], bl
call fcn.004265c0
lea edx, [esp + 0xfc]
mov byte [esp + 0x158], 8
cmp eax, edx
je 0x40a8a8
mov ecx, dword [eax + 4]
mov eax, dword [eax]
lea edx, [esp + 0x13]
push edx
push ecx
push eax
lea ecx, [esp + 0x108]
call fcn.00407830
lea ecx, [esp + 0x18]
mov byte [esp + 0x158], bl
call fcn.00421180
lea ecx, [esp + 0x38]
mov byte [esp + 0x158], 5
call fcn.00421180
lea ecx, [esp + 0x2c]
mov byte [esp + 0x158], 2
call fcn.00421180
lea eax, [esp + 0x13]
lea ecx, [esp + 0x2c]
push eax
mov byte [esp + 0x15c], 9
call fcn.00441c50
mov edi, 0x4e5b1c
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x158], 0xa
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4e5b1c
push ecx
push 0x4e5b1c
lea ecx, [esp + 0x34]
call fcn.00404480
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x44]
mov bl, 0xb
push ecx
push edx
mov ecx, ebp
mov byte [esp + 0x160], bl
call fcn.00426ba0
push eax
lea eax, [esp + 0x11c]
push eax
mov byte [esp + 0x160], 0xc
call fcn.0040a460
mov ecx, 0xa
mov esi, eax
lea edi, [esp + 0x60]
add esp, 8
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x44]
mov byte [esp + 0x158], bl
call fcn.00414630
lea ecx, [esp + 0x2c]
mov byte [esp + 0x158], 9
call fcn.00421180
lea ecx, [esp + 0x13]
mov byte [esp + 0x158], 0xd
push ecx
lea ecx, [esp + 0x30]
call fcn.00441c50
mov edi, 0x4e5b10
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x158], 0xe
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4e5b10
push ecx
push 0x4e5b10
lea ecx, [esp + 0x34]
call fcn.00404480
lea edx, [esp + 0x2c]
mov bl, 0xf
lea eax, [esp + 0x44]
push edx
mov byte [esp + 0x15c], bl
push eax
mov ecx, ebp
call fcn.00426ba0
lea ecx, [esp + 0x118]
push eax
push ecx
mov byte [esp + 0x160], 0x10
call fcn.0040a460
mov ecx, 0xa
mov esi, eax
lea edi, [esp + 0x88]
add esp, 8
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x44]
mov byte [esp + 0x158], bl
call fcn.00414630
lea ecx, [esp + 0x2c]
mov byte [esp + 0x158], 0xd
call fcn.00421180
lea edx, [esp + 0x13]
lea ecx, [esp + 0x2c]
push edx
mov byte [esp + 0x15c], 0x11
call fcn.00441c50
mov edi, 0x4e5b08
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x158], 0x12
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4e5b08
push ecx
push 0x4e5b08
lea ecx, [esp + 0x34]
call fcn.00404480
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x28]
push eax
push ecx
mov ecx, ebp
mov byte [esp + 0x160], 0x13
call fcn.00426ba0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x158], 0x16
call fcn.00421180
mov edx, dword [esp + 0x28]
mov byte [esp + 0x158], 0x15
test edx, edx
setne al
test al, al
mov byte [esp + 0x108], al
je 0x40abb8
lea edx, [esp + 0x28]
lea eax, [esp + 0x118]
push edx
push eax
call fcn.0040a460
mov ecx, 0xa
mov esi, eax
lea edi, [esp + 0xb0]
add esp, 8
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x12]
mov bl, 0x17
push ecx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x15c], bl
call fcn.00441c50
mov edi, 0x4e5894
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x158], 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4e5894
push ecx
push 0x4e5894
lea ecx, [esp + 0x40]
call fcn.00404480
lea edx, [esp + 0x38]
push 0
push edx
lea ecx, [esp + 0x30]
mov byte [esp + 0x160], 0x19
call fcn.004268e0
lea ecx, [esp + 0x38]
mov dword [esp + 0xd0], eax
mov byte [esp + 0x158], bl
call fcn.00421180
lea eax, [esp + 0x12]
mov bl, 0x1a
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x15c], bl
call fcn.00441c50
mov edi, 0x4e5888
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x158], 0x1b
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4e5888
push ecx
push 0x4e5888
lea ecx, [esp + 0x40]
call fcn.00404480
lea ecx, [esp + 0x38]
push 0
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x160], 0x1c
call fcn.004268e0
lea ecx, [esp + 0x38]
mov dword [esp + 0xd4], eax
mov byte [esp + 0x158], bl
call fcn.00421180
lea edx, [esp + 0x12]
lea ecx, [esp + 0x38]
push edx
mov byte [esp + 0x15c], 0x1d
call fcn.00441c50
mov edi, 0x4e5b00
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x158], 0x1e
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4e5b00
push ecx
push 0x4e5b00
lea ecx, [esp + 0x40]
call fcn.00404480
lea eax, [esp + 0x38]
lea ecx, [esp + 0x14]
push eax
push ecx
mov ecx, ebp
mov byte [esp + 0x160], 0x1f
call fcn.00426ba0
lea ecx, [esp + 0x38]
mov byte [esp + 0x158], 0x22
call fcn.00421180
mov edx, dword [esp + 0x14]
mov byte [esp + 0x158], 0x21
test edx, edx
setne al
test al, al
mov byte [esp + 0x109], al
je 0x40afa3
lea edx, [esp + 0x27]
lea ecx, [esp + 0x18]
push edx
mov byte [esp + 0x15c], 0x23
call fcn.00441c50
mov edi, 0x4f01b0
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x158], 0x24
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4f01b0
push ecx
push 0x4f01b0
lea ecx, [esp + 0x20]
call fcn.00404480
lea eax, [esp + 0x11]
lea ecx, [esp + 0x4c]
push eax
mov byte [esp + 0x15c], 0x26
call fcn.00441c50
mov edi, 0x4e5858
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x158], 0x27
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4e5858
push ecx
push 0x4e5858
lea ecx, [esp + 0x54]
call fcn.00404480
lea ecx, [esp + 0x18]
lea edx, [esp + 0x4c]
push ecx
lea eax, [esp + 0x110]
mov bl, 0x28
push edx
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x164], bl
call fcn.004265c0
lea ecx, [esp + 0x140]
push eax
push ecx
mov byte [esp + 0x160], 0x29
call fcn.00428e50
mov edx, dword [eax]
add esp, 8
mov dword [esp + 0xe0], edx
mov byte [esp + 0x158], bl
mov ecx, dword [eax + 4]
mov dword [esp + 0xe4], ecx
lea ecx, [esp + 0x10c]
mov edx, dword [eax + 8]
mov dword [esp + 0xe8], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 0xec], eax
call fcn.00421180
lea ecx, [esp + 0x4c]
mov byte [esp + 0x158], 0x26
call fcn.00421180
lea ecx, [esp + 0x18]
mov byte [esp + 0x158], 0x23
call fcn.00421180
lea ecx, [esp + 0x11]
mov bl, 0x2a
push ecx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x15c], bl
call fcn.00441c50
mov edi, 0x4e5844
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x158], 0x2b
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4e5844
push ecx
push 0x4e5844
lea ecx, [esp + 0x20]
call fcn.00404480
lea edx, [esp + 0x18]
push 0
push edx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x160], 0x2c
call fcn.004268e0
lea ecx, [esp + 0x18]
mov dword [esp + 0xd8], eax
mov byte [esp + 0x158], bl
call fcn.00421180
lea eax, [esp + 0x11]
mov bl, 0x2d
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x15c], bl
call fcn.00441c50
mov edi, 0x4e584c
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x158], 0x2e
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4e584c
push ecx
push 0x4e584c
lea ecx, [esp + 0x20]
call fcn.00404480
lea ecx, [esp + 0x18]
push 0
push ecx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x160], 0x2f
call fcn.004268e0
lea ecx, [esp + 0x18]
mov dword [esp + 0xdc], eax
mov byte [esp + 0x158], bl
call fcn.00421180
lea edx, [esp + 0x11]
mov bl, 0x30
push edx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x15c], bl
call fcn.00441c50
mov edi, 0x4e5894
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x158], 0x31
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4e5894
push ecx
push 0x4e5894
lea ecx, [esp + 0x20]
call fcn.00404480
lea eax, [esp + 0x18]
push 0
mov byte [esp + 0x15c], 0x32
push eax
lea ecx, [esp + 0x1c]
call fcn.004268e0
lea ecx, [esp + 0x18]
mov dword [esp + 0xf4], eax
mov byte [esp + 0x158], bl
call fcn.00421180
lea ecx, [esp + 0x11]
mov bl, 0x33
push ecx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x15c], bl
call fcn.00441c50
mov edi, 0x4e5888
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x158], 0x34
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4e5888
push ecx
push 0x4e5888
lea ecx, [esp + 0x20]
call fcn.00404480
lea edx, [esp + 0x18]
push 0
push edx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x160], 0x35
call fcn.004268e0
lea ecx, [esp + 0x18]
mov dword [esp + 0xf8], eax
mov byte [esp + 0x158], bl
call fcn.00421180
lea eax, [esp + 0x11]
mov bl, 0x36
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x15c], bl
call fcn.00441c50
mov edi, 0x4e5880
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x158], 0x37
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x4e5880
push ecx
push 0x4e5880
lea ecx, [esp + 0x20]
call fcn.00404480
lea ecx, [esp + 0x18]
push 0
push ecx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x160], 0x38
call fcn.004268e0
lea ecx, [esp + 0x18]
mov dword [esp + 0xf0], eax
mov byte [esp + 0x158], bl
call fcn.00421180
mov byte [esp + 0x158], 0x21
mov ebp, dword [esp + 0x160]
mov ecx, 0xa
lea esi, [esp + 0x58]
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp + 0x28]
mov ecx, 0xa
lea esi, [esp + 0x80]
lea edx, [esp + 0xfc]
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp + 0x50]
mov ecx, 0xc
lea esi, [esp + 0xa8]
push edx
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp + 0x80]
mov ecx, 9
lea esi, [esp + 0xdc]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp + 0xa4]
call fcn.004076e0
mov al, byte [esp + 0x108]
mov cl, byte [esp + 0x109]
mov ebx, 1
mov byte [ebp + 0xb0], al
mov byte [ebp + 0xb1], cl
mov dword [esp + 0x48], ebx
lea ecx, [esp + 0x14]
mov byte [esp + 0x158], 0x15
call fcn.00414630
lea ecx, [esp + 0x28]
mov byte [esp + 0x158], bl
call fcn.00414630
lea ecx, [esp + 0xfc]
mov byte [esp + 0x158], 0
call fcn.00421180
mov ecx, dword [esp + 0x150]
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x14c
ret