Function at 0x490fe0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x7c]
cmp eax, dword [ecx + 8]
jbe 0x491b13
sub esp, 0xfc
mov dword [esp + 0x66], 0x656d6974
mov dword [esp + 0x68], 0x442e656d
mov dword [esp + 0x6c], 0x28657461
lea edi, [esp]
lea esi, [esp + 0x100]
call fcn.0045a65e
mov byte [esp + 0x14], 0
call fcn.00497530
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x66]
mov dword [esp], ecx
mov dword [esp + 4], 0xa
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00490700
nop
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xcc], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x38], edx
lea edi, [esp]
lea esi, [esp + 0x100]
call fcn.0045a65e
mov byte [esp + 0x14], 1
call fcn.00497530
mov eax, dword [esp + 0x1c]
lea ecx, [eax - 1]
cmp ecx, 0xb
ja 0x49119e
mov eax, dword [esp + 0x38]
lea ecx, [eax + 7]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x3c]
cmp edx, ecx
jb 0x4910be
mov ebx, dword [esp + 0xcc]
jmp 0x4910f3
lea ebx, [0x4d7300]
mov dword [esp], ebx
mov ebp, dword [esp + 0xcc]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00443e90
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, ecx
mov edx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], edx
mov dword [esp + 0xcc], ebx
mov dword [ebx + eax], 0x6974202c
mov dword [ebx + eax + 3], 0x2e656d69
lea edi, [esp]
lea esi, [esp + 0x100]
call fcn.0045a65e
mov byte [esp + 0x14], 1
call fcn.00497530
mov eax, dword [esp + 0x1c]
lea ecx, [eax - 1]
cmp ecx, 0xb
jbe 0x49117c
mov dword [esp + 0x34], eax
lea edi, [esp + 0x70]
xor eax, eax
call fcn.0045a17b
mov ecx, dword [esp + 0x34]
test ecx, ecx
sete dl
mov ebx, ecx
sar ecx, 0x1f
test ecx, ecx
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x49116a
mov eax, 0x14
jmp 0x491a47
mov byte [esp + 0x83], 0x30
mov eax, 0x13
jmp 0x4919cd
mov edx, dword [0x7beabc]
mov ebx, dword [0x7beab8]
cmp edx, ecx
jbe 0x4919c4
lea eax, [ebx + eax*8 - 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x491925
mov ecx, dword [esp + 0xcc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00490700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [ecx + 2]
mov dword [esp + 0x38], ebx
cmp edx, ebx
jae 0x49120e
mov dword [esp + 0x60], ecx
lea ebp, [0x4d7300]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.00443e90
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x3c], edx
mov dword [esp + 0xcc], eax
mov word [eax + ecx], 0x202c
lea edi, [esp]
lea esi, [esp + 0x100]
call fcn.0045a65e
mov byte [esp + 0x14], 1
call fcn.00497530
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xcc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00490700
mov eax, dword [esp + 0x18]
lea ecx, [eax + 2]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
cmp edx, ecx
jae 0x4912ac
mov dword [esp + 0x60], eax
lea ebp, [0x4d7300]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00443e90
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x3c], edx
mov dword [esp + 0xcc], ebx
mov word [ebx + eax], 0x202c
lea edi, [esp]
lea esi, [esp + 0x100]
call fcn.0045a65e
call fcn.00497060
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x15180
call fcn.00454760
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xcc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 8], ecx
mov ecx, eax
mov eax, 0x91a2b3c5
imul ecx
lea eax, [edx + ecx]
sar eax, 0xb
sar ecx, 0x1f
sub eax, ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00490700
mov eax, dword [esp + 0x18]
lea ecx, [eax + 2]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
cmp edx, ecx
jae 0x49137d
mov dword [esp + 0x60], eax
lea ebp, [0x4d7300]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00443e90
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov dword [esp + 0xcc], ebx
mov dword [esp + 0x3c], edx
mov word [ebx + eax], 0x202c
lea edi, [esp]
lea esi, [esp + 0x100]
call fcn.0045a65e
call fcn.00497060
mov eax, dword [esp + 0x18]
mov dword [esp + 0x5c], eax
mov ecx, 0x91a2b3c5
mul ecx
shr edx, 0xb
imul eax, edx, 0xe10
mov edx, dword [esp + 0x5c]
sub edx, eax
mov eax, 0x123456
mov ebx, edx
mul edx
mov edx, dword [esp + 0x14]
mov ebp, eax
mov eax, edx
mov esi, edx
mul ecx
shr edx, 0xb
mov eax, edx
add edx, 0
add edx, ebp
imul eax, eax, 0xe10
mov ebp, esi
sub esi, eax
imul eax, ebx, 0x6a0
add eax, esi
mov ebx, eax
mov eax, ecx
mov ecx, edx
mul ebx
shr edx, 0xb
add edx, ecx
mov eax, 0xe10
mul edx
sub ebp, eax
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov eax, 0x88888889
imul ebp
lea eax, [edx + ebp]
sar eax, 5
sar ebp, 0x1f
sub eax, ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00490700
mov eax, dword [esp + 0x18]
lea ecx, [eax + 2]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
cmp edx, ecx
jae 0x491489
mov dword [esp + 0x60], eax
lea ebp, [0x4d7300]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00443e90
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x3c], edx
mov dword [esp + 0xcc], ebx
mov word [ebx + eax], 0x202c
lea edi, [esp]
lea esi, [esp + 0x100]
call fcn.0045a65e
call fcn.00497060
mov eax, dword [esp + 0x14]
mov dword [esp + 0x5c], eax
mov ecx, 0x88888889
mul ecx
shr edx, 5
mov eax, edx
add edx, 0
mov ebx, dword [esp + 0x18]
mov ebp, eax
mov eax, ebx
mov esi, edx
mul ecx
shr edx, 5
imul eax, edx, 0x3c
sub ebx, eax
mov eax, ebx
mov edx, 0x4444444
mul edx
add eax, esi
imul edx, ebp, 0x3c
mov ebp, dword [esp + 0x5c]
mov esi, ebp
sub ebp, edx
shl ebx, 4
lea edx, [ebx + ebp]
mov ebx, eax
mov eax, edx
mul ecx
shr edx, 5
add edx, ebx
mov eax, 0x3c
mul edx
sub esi, eax
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
call fcn.00490700
mov eax, dword [esp + 0x18]
lea ecx, [eax + 2]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
cmp edx, ecx
jae 0x49157d
mov dword [esp + 0x60], eax
lea ebp, [0x4d7300]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00443e90
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
mov word [ebx + eax], 0x202c
lea edi, [esp + 0xe8]
lea esi, [esp + 0x100]
call fcn.0045a65e
nop
mov eax, dword [esp + 0xe8]
mov dword [esp], ebx
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
and eax, 0x3fffffff
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00490700
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], eax
lea ecx, [eax + 2]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
cmp edx, ecx
jae 0x49160c
lea ebp, [0x4d7300]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00443e90
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x60]
mov word [ebx + eax], 0x202c
lea edi, [esp + 0xd4]
lea esi, [esp + 0x100]
call fcn.0045a65e
mov ecx, dword [esp + 0xe4]
test ecx, ecx
jne 0x491636
mov ecx, dword [0x7be4e4]
cmp dword [0x7be4e4], ecx
je 0x491865
test ecx, ecx
je 0x491865
cmp dword [0x7be4e0], ecx
jne 0x4916c8
lea ecx, [eax + 0xc]
mov dword [esp + 0x58], ecx
cmp edx, ecx
jae 0x49168b
lea eax, [0x4d7300]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00443e90
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], edx
mov dword [esp + 0xcc], ebx
lea eax, [eax + ebx + 2]
mov dword [esp], eax
lea eax, [0x4e76c9]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call fcn.0045a880
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0xcc]
jmp 0x4918b8
mov dword [esp + 0xc8], ecx
lea ebp, [eax + 0x10]
mov dword [esp + 0x58], ebp
cmp edx, ebp
jae 0x491708
lea eax, [0x4d7300]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x60]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00443e90
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], edx
mov dword [esp + 0xcc], ebx
lea ecx, [eax + ebx + 2]
mov dword [esp], ecx
lea ecx, [0x4e8539]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xe
call fcn.0045a880
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00493a50
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004475e0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x38]
lea edx, [ecx + eax + 0x10]
mov dword [esp + 0x54], edx
lea ebx, [eax + ecx]
mov dword [esp + 0x50], ebx
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x3c]
cmp esi, edx
jb 0x491798
mov edi, dword [esp + 0xcc]
jmp 0x4917e3
mov dword [esp + 0xd0], ebp
lea eax, [0x4d7300]
mov dword [esp], eax
mov ecx, dword [esp + 0xcc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call fcn.00443e90
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0xd0]
mov esi, edx
mov edi, ebx
mov dword [esp + 0xcc], edi
mov dword [esp + 0x3c], esi
lea edx, [ecx + edi + 0x10]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0045a880
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
lea eax, [ecx + eax + 0x11]
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jb 0x49181f
mov edi, dword [esp + 0xcc]
jmp 0x49185a
mov dword [esp + 0x4c], eax
lea edx, [0x4d7300]
mov dword [esp], edx
mov ebx, dword [esp + 0xcc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00443e90
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov ecx, esi
mov ebp, dword [esp + 0x50]
mov byte [ebp + edi + 0x10], 0x29
jmp 0x4918b8
lea ecx, [eax + 0xa]
cmp edx, ecx
jae 0x4918a2
mov dword [esp + 0x58], ecx
lea eax, [0x4d7300]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00443e90
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x58]
mov dword [eax + ebx + 2], 0x656d6974
mov dword [eax + ebx + 6], 0x4354552e
mov eax, ecx
mov ecx, edx
mov edi, ebx
lea edx, [eax + 1]
cmp ecx, edx
jae 0x4918f0
mov dword [esp + 0x38], eax
lea ebx, [0x4d7300]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00443e90
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
lea edx, [eax + 1]
mov eax, dword [esp + 0x38]
mov byte [edi + eax], 0x29
mov dword [esp], 0
mov dword [esp + 4], edi
mov dword [esp + 8], edx
call fcn.00447480
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], ecx
add esp, 0xfc
ret
mov edx, dword [esp + 0x38]
lea ebx, [edx + eax + 7]
mov dword [esp + 0x54], ebx
mov ebp, dword [esp + 0x3c]
cmp ebp, ebx
jb 0x491942
mov esi, dword [esp + 0xcc]
jmp 0x491991
mov dword [esp + 0x28], eax
mov dword [esp + 0xc4], ecx
lea eax, [0x4d7300]
mov dword [esp], eax
mov ecx, dword [esp + 0xcc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00443e90
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xc4]
mov esi, ebx
mov ebp, edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0xcc], esi
mov dword [esp + 0x3c], ebp
lea edx, [edx + esi + 7]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045a880
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0xcc]
jmp 0x4911d5
mov eax, ecx
mov ecx, edx
call fcn.0045a030
cmp eax, 0x14
ja 0x491a2c
lea ecx, [esp + 0xa4]
mov dword [esp], ecx
lea ecx, [0x4e6e9d]
mov dword [esp + 4], ecx
mov dword [esp + 8], 8
lea ecx, [eax - 0x14]
neg ecx
mov edx, ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
lea eax, [esp + eax + 0x70]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
lea eax, [0x4e6508]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 1
call fcn.00447270
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x491925
mov ecx, 0x14
call fcn.0045a090
lea esi, [eax + 0x30]
xchg esi, eax
mov byte [esp + ebx + 0x6f], al
xchg esi, eax
mov ebx, dword [esp + 0x40]
mov ecx, edx
mov eax, ebp
test ebx, ebx
seta dl
test ecx, ecx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
seta bl
xchg esi, ebx
and ebp, edx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x4919cd
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebx
mov eax, ecx
mov ebp, 0xcccccccd
mul ebp
shr edx, 3
lea edi, [edx + edx*4]
shl edi, 1
sub ecx, edi
mov eax, 0x19999999
mov edi, edx
mul ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x48], eax
mov eax, ebp
mul ebx
shr edx, 3
mov eax, edx
add edx, 0
mov dword [esp + 0x44], edx
mov esi, dword [esp + 0x48]
add edx, esi
lea esi, [eax + eax*4]
shl esi, 1
sub ebx, esi
lea esi, [ecx + ecx*2]
lea ebx, [ebx + esi*2]
mov ecx, eax
mov eax, ebp
mov esi, edx
mul ebx
shr edx, 3
mov ebx, edx
add edx, esi
mov dword [esp + 0x40], edx
mov eax, 0xa
mul edx
mov edx, dword [esp + 0x30]
sub edx, eax
add ecx, 0
adc edi, 0
mov ebp, dword [esp + 0x44]
mov eax, edx
mov edx, dword [esp + 0x48]
add ebp, edx
mov edx, dword [esp + 0x5c]
adc edx, edi
add ebx, esi
adc edx, 0
mov ebx, dword [esp + 0x2c]
lea ebp, [ebx - 1]
cmp ebp, 0x14
jb 0x491a36
mov eax, ebp
mov ecx, 0x14
call fcn.0045a030
nop
call fcn.00458b70
jmp fcn.00490fe0