Function at 0x48e770
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x7c]
cmp eax, dword [ecx + 8]
jbe 0x48f2a3
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.0045dcbe
mov byte [esp + 0x14], 0
call fcn.00496780
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.0048de90
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.0045dcbe
mov byte [esp + 0x14], 1
call fcn.00496780
mov eax, dword [esp + 0x1c]
lea ecx, [eax - 1]
cmp ecx, 0xb
ja 0x48e92e
mov eax, dword [esp + 0x38]
lea ecx, [eax + 7]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x3c]
cmp edx, ecx
jb 0x48e84e
mov ebx, dword [esp + 0xcc]
jmp 0x48e883
lea ebx, [0x4fa160]
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.00446d70
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.0045dcbe
mov byte [esp + 0x14], 1
call fcn.00496780
mov eax, dword [esp + 0x1c]
lea ecx, [eax - 1]
cmp ecx, 0xb
jbe 0x48e90c
mov dword [esp + 0x34], eax
lea edi, [esp + 0x70]
xor eax, eax
call fcn.0045d7db
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 0x48e8fa
mov eax, 0x14
jmp 0x48f1d7
mov byte [esp + 0x83], 0x30
mov eax, 0x13
jmp 0x48f15d
mov edx, dword [0x5dbc64]
mov ebx, dword [0x5dbc60]
cmp edx, ecx
jbe 0x48f154
lea eax, [ebx + eax*8 - 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x48f0b5
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.0048de90
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 0x48e99e
mov dword [esp + 0x60], ecx
lea ebp, [0x4fa160]
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.00446d70
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.0045dcbe
mov byte [esp + 0x14], 1
call fcn.00496780
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.0048de90
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 0x48ea3c
mov dword [esp + 0x60], eax
lea ebp, [0x4fa160]
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.00446d70
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.0045dcbe
call fcn.004950d0
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.004579d0
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.0048de90
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 0x48eb0d
mov dword [esp + 0x60], eax
lea ebp, [0x4fa160]
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.00446d70
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.0045dcbe
call fcn.004950d0
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.0048de90
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 0x48ec19
mov dword [esp + 0x60], eax
lea ebp, [0x4fa160]
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.00446d70
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.0045dcbe
call fcn.004950d0
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.0048de90
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 0x48ed0d
mov dword [esp + 0x60], eax
lea ebp, [0x4fa160]
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.00446d70
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.0045dcbe
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.0048de90
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 0x48ed9c
lea ebp, [0x4fa160]
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.00446d70
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.0045dcbe
mov ecx, dword [esp + 0xe4]
test ecx, ecx
jne 0x48edc6
mov ecx, dword [0x5db4cc]
cmp dword [0x5db4cc], ecx
je 0x48eff5
test ecx, ecx
je 0x48eff5
cmp dword [0x5db4c8], ecx
jne 0x48ee58
lea ecx, [eax + 0xc]
mov dword [esp + 0x58], ecx
cmp edx, ecx
jae 0x48ee1b
lea eax, [0x4fa160]
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.00446d70
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, [0x511379]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call fcn.0045dee0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0xcc]
jmp 0x48f048
mov dword [esp + 0xc8], ecx
lea ebp, [eax + 0x10]
mov dword [esp + 0x58], ebp
cmp edx, ebp
jae 0x48ee98
lea eax, [0x4fa160]
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.00446d70
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, [0x51228f]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xe
call fcn.0045dee0
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.004911e0
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.0044a430
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 0x48ef28
mov edi, dword [esp + 0xcc]
jmp 0x48ef73
mov dword [esp + 0xd0], ebp
lea eax, [0x4fa160]
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.00446d70
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.0045dee0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
lea eax, [ecx + eax + 0x11]
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jb 0x48efaf
mov edi, dword [esp + 0xcc]
jmp 0x48efea
mov dword [esp + 0x4c], eax
lea edx, [0x4fa160]
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.00446d70
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 0x48f048
lea ecx, [eax + 0xa]
cmp edx, ecx
jae 0x48f032
mov dword [esp + 0x58], ecx
lea eax, [0x4fa160]
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.00446d70
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 0x48f080
mov dword [esp + 0x38], eax
lea ebx, [0x4fa160]
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.00446d70
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.0044a2d0
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 0x48f0d2
mov esi, dword [esp + 0xcc]
jmp 0x48f121
mov dword [esp + 0x28], eax
mov dword [esp + 0xc4], ecx
lea eax, [0x4fa160]
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.00446d70
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.0045dee0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0xcc]
jmp 0x48e965
mov eax, ecx
mov ecx, edx
call fcn.0045d680
cmp eax, 0x14
ja 0x48f1bc
lea ecx, [esp + 0xa4]
mov dword [esp], ecx
lea ecx, [0x510942]
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, [0x50fe27]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 1
call fcn.0044a0c0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x48f0b5
mov ecx, 0x14
call fcn.0045d6e0
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 0x48f15d
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 0x48f1c6
mov eax, ebp
mov ecx, 0x14
call fcn.0045d680
nop
call fcn.0045c1c0
jmp fcn.0048e770