Function at 0x483090
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x7c]
cmp eax, dword [ecx + 8]
jbe 0x483bc3
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.004598ee
mov byte [esp + 0x14], 0
call fcn.00486450
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.00482960
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.004598ee
mov byte [esp + 0x14], 1
call fcn.00486450
mov eax, dword [esp + 0x1c]
lea ecx, [eax - 1]
cmp ecx, 0xb
ja 0x48324e
mov eax, dword [esp + 0x38]
lea ecx, [eax + 7]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x3c]
cmp edx, ecx
jb 0x48316e
mov ebx, dword [esp + 0xcc]
jmp 0x4831a3
lea ebx, [0x4c36c0]
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.004439c0
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.004598ee
mov byte [esp + 0x14], 1
call fcn.00486450
mov eax, dword [esp + 0x1c]
lea ecx, [eax - 1]
cmp ecx, 0xb
jbe 0x48322c
mov dword [esp + 0x34], eax
lea edi, [esp + 0x70]
xor eax, eax
call fcn.0045940b
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 0x48321a
mov eax, 0x14
jmp 0x483af7
mov byte [esp + 0x83], 0x30
mov eax, 0x13
jmp 0x483a7d
mov edx, dword [0x579a34]
mov ebx, dword [0x579a30]
cmp edx, ecx
jbe 0x483a74
lea eax, [ebx + eax*8 - 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x4839d5
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.00482960
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 0x4832be
mov dword [esp + 0x60], ecx
lea ebp, [0x4c36c0]
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.004439c0
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.004598ee
mov byte [esp + 0x14], 1
call fcn.00486450
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.00482960
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 0x48335c
mov dword [esp + 0x60], eax
lea ebp, [0x4c36c0]
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.004439c0
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.004598ee
call fcn.00485f80
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.00454200
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.00482960
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 0x48342d
mov dword [esp + 0x60], eax
lea ebp, [0x4c36c0]
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.004439c0
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.004598ee
call fcn.00485f80
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.00482960
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 0x483539
mov dword [esp + 0x60], eax
lea ebp, [0x4c36c0]
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.004439c0
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.004598ee
call fcn.00485f80
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.00482960
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 0x48362d
mov dword [esp + 0x60], eax
lea ebp, [0x4c36c0]
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.004439c0
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.004598ee
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.00482960
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 0x4836bc
lea ebp, [0x4c36c0]
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.004439c0
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.004598ee
mov ecx, dword [esp + 0xe4]
test ecx, ecx
jne 0x4836e6
mov ecx, dword [0x579328]
cmp dword [0x579328], ecx
je 0x483915
test ecx, ecx
je 0x483915
cmp dword [0x579324], ecx
jne 0x483778
lea ecx, [eax + 0xc]
mov dword [esp + 0x58], ecx
cmp edx, ecx
jae 0x48373b
lea eax, [0x4c36c0]
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.004439c0
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, [0x4d39ba]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call fcn.00459b10
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0xcc]
jmp 0x483968
mov dword [esp + 0xc8], ecx
lea ebp, [eax + 0x10]
mov dword [esp + 0x58], ebp
cmp edx, ebp
jae 0x4837b8
lea eax, [0x4c36c0]
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.004439c0
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, [0x4d4817]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xe
call fcn.00459b10
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.00485b00
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.00447080
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 0x483848
mov edi, dword [esp + 0xcc]
jmp 0x483893
mov dword [esp + 0xd0], ebp
lea eax, [0x4c36c0]
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.004439c0
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.00459b10
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
lea eax, [ecx + eax + 0x11]
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jb 0x4838cf
mov edi, dword [esp + 0xcc]
jmp 0x48390a
mov dword [esp + 0x4c], eax
lea edx, [0x4c36c0]
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.004439c0
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 0x483968
lea ecx, [eax + 0xa]
cmp edx, ecx
jae 0x483952
mov dword [esp + 0x58], ecx
lea eax, [0x4c36c0]
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.004439c0
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 0x4839a0
mov dword [esp + 0x38], eax
lea ebx, [0x4c36c0]
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.004439c0
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.00446f20
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 0x4839f2
mov esi, dword [esp + 0xcc]
jmp 0x483a41
mov dword [esp + 0x28], eax
mov dword [esp + 0xc4], ecx
lea eax, [0x4c36c0]
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.004439c0
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.00459b10
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0xcc]
jmp 0x483285
mov eax, ecx
mov ecx, edx
call fcn.004592c0
cmp eax, 0x14
ja 0x483adc
lea ecx, [esp + 0xa4]
mov dword [esp], ecx
lea ecx, [0x4d303c]
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, [0x4d2667]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 1
call fcn.00446d10
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x4839d5
mov ecx, 0x14
call fcn.00459320
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 0x483a7d
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 0x483ae6
mov eax, ebp
mov ecx, 0x14
call fcn.004592c0
nop
call fcn.00457e00
jmp fcn.00483090