Function at 0x48ac36
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x529fd2
mov eax, dword fs:[0]
push eax
sub esp, 0xe44
mov eax, dword [0x5770a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xe04], ecx
mov eax, dword [ebp - 0xe04]
movzx eax, byte [eax + 0x18]
test eax, eax
jne 0x48ac7c
jmp 0x48b768
cmp dword [ebp + 8], 0
jne 0x48ac87
jmp 0x48b768
push 2
pop eax
imul eax, eax, 0
mov ecx, dword [ebp + 8]
movzx eax, word [ecx + eax + 0xc68]
test eax, eax
je 0x48adf4
mov eax, dword [ebp - 0xe04]
cmp dword [eax + 0x5274], 5
jne 0x48adf4
push str..list
mov eax, dword [ebp + 8]
add eax, 0xc68
push eax
call fcn.004b2766
pop ecx
pop ecx
test eax, eax
jne 0x48adef
mov esi, dword [ebp - 0xe04]
add esi, 0x5298
mov ecx, 0x19a
lea edi, [ebp - 0xe00]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 8]
add eax, 0xc68
push eax
lea ecx, [ebp - 0x28]
call fcn.00409053
and dword [ebp - 4], 0
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.0044affe
pop ecx
pop ecx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x28]
call fcn.0040a62b
mov byte [ebp - 4], 4
mov byte [ebp - 4], 2
lea eax, [ebp - 0x28]
mov dword [ebp - 0xe4c], eax
mov byte [ebp - 4], 5
mov byte [ebp - 4], 6
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x130]
call fcn.004059a0
push eax
push 0x104
lea eax, [ebp - 0xab8]
push eax
call fcn.004ce833
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xe70]
mov dword [ebp - 0x8b0], ecx
mov eax, dword [eax + 0xe74]
mov dword [ebp - 0x8ac], eax
mov dword [ebp - 0xe00], 5
mov eax, dword [ebp - 0xe04]
cmp dword [eax + 0x1c], 0
je 0x48adb4
lea eax, [ebp - 0xe00]
push eax
mov eax, dword [ebp - 0xe04]
push dword [eax + 0x34]
push dword [eax + 0x30]
mov eax, dword [ebp - 0xe04]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp - 0xe04]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c]
call dword [eax + 8]
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x130]
call fcn.00405a40
mov dword [ebp - 4], 8
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x130]
mov dword [ebp - 0xe48], eax
mov dword [ebp - 4], 9
mov dword [ebp - 4], 0xa
or dword [ebp - 4], 0xffffffff
jmp 0x48b768
mov eax, dword [ebp - 0xe04]
cmp dword [eax + 0x5280], 0
jne 0x48ae4d
mov eax, dword [ebp - 0xe04]
cmp dword [eax + 0x5284], 0
jne 0x48ae4d
mov eax, dword [ebp - 0xe04]
cmp dword [eax + 0x5288], 0
jne 0x48ae4d
mov eax, dword [ebp - 0xe04]
cmp dword [eax + 0x528c], 0
jne 0x48ae4d
mov eax, dword [ebp + 8]
cmp dword [eax + 0x850], 0
je 0x48ae4d
mov eax, dword [ebp + 8]
cmp dword [eax + 0x848], 0
jne 0x48ae4d
jmp 0x48b768
mov byte [ebp - 0xe05], 0
push 0x668
push 0
lea eax, [ebp - 0x798]
push eax
call fcn.004b0090
add esp, 0xc
cmp dword [ebp + 8], 0
je 0x48b768
mov eax, dword [ebp - 0xe04]
movzx eax, byte [eax + 0x24]
test eax, eax
jne 0x48b768
mov eax, dword [ebp + 8]
add eax, 0x310
push eax
lea ecx, [ebp - 0x118]
call fcn.00409053
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0044affe
pop ecx
pop ecx
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x118]
call fcn.0040a62b
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x118]
mov dword [ebp - 0xe44], eax
mov byte [ebp - 4], 0x10
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x40]
call fcn.004059a0
push eax
push 0x80
lea eax, [ebp - 0x758]
push eax
call fcn.004ce833
add esp, 0xc
mov eax, dword [ebp + 8]
add eax, 0x510
push eax
lea ecx, [ebp - 0x100]
call fcn.00409053
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.0044affe
pop ecx
pop ecx
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x100]
call fcn.0040a62b
mov byte [ebp - 4], 0x16
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x100]
mov dword [ebp - 0xe40], eax
mov byte [ebp - 4], 0x17
mov byte [ebp - 4], 0x18
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x58]
call fcn.004059a0
push eax
push 0x104
lea eax, [ebp - 0x240]
push eax
call fcn.004ce833
add esp, 0xc
mov eax, dword [ebp + 8]
add eax, 0x410
push eax
lea ecx, [ebp - 0xe8]
call fcn.00409053
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0044affe
pop ecx
pop ecx
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xe8]
call fcn.0040a62b
mov byte [ebp - 4], 0x1d
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0xe8]
mov dword [ebp - 0xe3c], eax
mov byte [ebp - 4], 0x1e
mov byte [ebp - 4], 0x1f
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x70]
call fcn.004059a0
push eax
push 0x80
lea eax, [ebp - 0x6d8]
push eax
call fcn.004ce833
add esp, 0xc
mov eax, dword [ebp + 8]
add eax, 8
push eax
lea ecx, [ebp - 0xd0]
call fcn.00409053
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.0044affe
pop ecx
pop ecx
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0xd0]
call fcn.0040a62b
mov byte [ebp - 4], 0x24
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xe38], eax
mov byte [ebp - 4], 0x25
mov byte [ebp - 4], 0x26
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x88]
call fcn.004059a0
push eax
push 0x104
lea eax, [ebp - 0x658]
push eax
call fcn.004ce833
add esp, 0xc
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x838]
mov dword [ebp - 0x77c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x83c]
mov dword [ebp - 0x778], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x840]
mov dword [ebp - 0x774], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x844]
mov dword [ebp - 0x770], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x854]
mov dword [ebp - 0xe18], eax
cmp dword [ebp - 0xe18], 6
je 0x48b0d9
cmp dword [ebp - 0xe18], 0x2715
je 0x48b0c7
jmp 0x48b0eb
mov eax, dword [ebp - 0xe04]
mov dword [eax + 0x5274], 5
jmp 0x48b0fb
mov eax, dword [ebp - 0xe04]
mov dword [eax + 0x5274], 2
jmp 0x48b0fb
mov eax, dword [ebp - 0xe04]
mov dword [eax + 0x5274], 1
mov eax, dword [ebp - 0xe04]
mov eax, dword [eax + 0x5274]
mov dword [ebp - 0x798], eax
mov eax, dword [ebp + 8]
push 0
push 0x400
push dword [eax + 0x834]
push dword [eax + 0x830]
call fcn.004ae350
mov dword [ebp - 0x760], eax
mov dword [ebp - 0x75c], edx
mov eax, dword [ebp + 8]
push 0
push 0x400
push dword [eax + 0x824]
push dword [eax + 0x820]
call fcn.004ae350
mov dword [ebp - 0x768], eax
mov dword [ebp - 0x764], edx
mov eax, dword [ebp + 8]
push 0
push 0x400
push dword [eax + 0xe7c]
push dword [eax + 0xe78]
call fcn.004ae350
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x850]
mov dword [ebp - 0xe0c], eax
cmp dword [ebp - 0xe0c], 0
je 0x48b1cb
cmp dword [ebp - 0xe0c], 1
je 0x48b271
cmp dword [ebp - 0xe0c], 2
je 0x48b409
cmp dword [ebp - 0xe0c], 7
je 0x48b1ed
cmp dword [ebp - 0xe0c], 8
je 0x48b22f
jmp 0x48b446
and dword [ebp - 0x794], 0
mov eax, dword [ebp - 0xe04]
cmp dword [eax + 0x52a4], 0
jne 0x48b1e8
mov byte [ebp - 0xe05], 1
jmp 0x48b446
mov dword [ebp - 0x794], 1
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xe04]
mov eax, dword [eax + 0x848]
cmp eax, dword [ecx + 0x5280]
jbe 0x48b22a
mov eax, dword [ebp - 0xe04]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x848]
mov dword [eax + 0x5280], ecx
mov byte [ebp - 0xe05], 1
jmp 0x48b446
mov dword [ebp - 0x794], 2
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xe04]
mov eax, dword [eax + 0x848]
cmp eax, dword [ecx + 0x5284]
jbe 0x48b26c
mov eax, dword [ebp - 0xe04]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x848]
mov dword [eax + 0x5284], ecx
mov byte [ebp - 0xe05], 1
jmp 0x48b446
mov dword [ebp - 0x794], 3
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xe04]
mov eax, dword [eax + 0x848]
cmp eax, dword [ecx + 0x5288]
jbe 0x48b2ae
mov eax, dword [ebp - 0xe04]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x848]
mov dword [eax + 0x5288], ecx
mov byte [ebp - 0xe05], 1
mov eax, dword [ebp - 0xe04]
mov ecx, dword [ebp - 0x768]
mov dword [eax + 0x5278], ecx
mov ecx, dword [ebp - 0x764]
mov dword [eax + 0x527c], ecx
mov eax, dword [ebp - 0xe04]
cmp dword [eax + 0x5290], 0
jne 0x48b307
mov eax, dword [ebp - 0xe04]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x828]
mov dword [eax + 0x5290], ecx
mov eax, dword [ebp - 0xe04]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x82c]
mov dword [eax + 0x5294], ecx
jmp 0x48b359
mov eax, dword [ebp + 8]
cmp dword [eax + 0x828], 0
je 0x48b359
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x828]
mov ecx, dword [ebp - 0xe04]
add eax, dword [ecx + 0x5290]
shr eax, 1
mov ecx, dword [ebp - 0xe04]
mov dword [ecx + 0x5290], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x82c]
mov ecx, dword [ebp - 0xe04]
add eax, dword [ecx + 0x5294]
shr eax, 1
mov ecx, dword [ebp - 0xe04]
mov dword [ecx + 0x5294], eax
mov eax, dword [ebp - 0xe04]
mov eax, dword [eax + 0x5290]
mov dword [ebp - 0x788], eax
mov eax, dword [ebp - 0xe04]
mov eax, dword [eax + 0x5294]
mov dword [ebp - 0x784], eax
cmp dword [ebp - 0x788], 0
jne 0x48b392
mov dword [ebp - 0x780], 0x15180
jmp 0x48b407
mov eax, dword [ebp + 8]
push 0x64
pop ecx
sub ecx, dword [eax + 0x848]
xor eax, eax
mov edx, dword [ebp + 8]
push eax
push ecx
push dword [edx + 0x824]
push dword [edx + 0x820]
call fcn.004ae350
push 0
push 0x64
push edx
push eax
call fcn.004aead0
push 0
push 0x400
push edx
push eax
call fcn.004ae350
mov dword [ebp - 0xe20], eax
mov dword [ebp - 0xe1c], edx
mov eax, dword [ebp - 0x788]
dec eax
xor ecx, ecx
add eax, dword [ebp - 0xe20]
adc ecx, dword [ebp - 0xe1c]
mov edx, dword [ebp - 0x788]
xor esi, esi
push esi
push edx
push ecx
push eax
call fcn.004aead0
mov dword [ebp - 0x780], eax
jmp 0x48b446
mov dword [ebp - 0x794], 4
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xe04]
mov eax, dword [eax + 0x848]
cmp eax, dword [ecx + 0x528c]
jbe 0x48b446
mov eax, dword [ebp - 0xe04]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x848]
mov dword [eax + 0x528c], ecx
mov byte [ebp - 0xe05], 1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x84c]
mov dword [ebp - 0x790], eax
and dword [ebp - 0xe10], 0
mov eax, dword [ebp - 0xe04]
mov eax, dword [eax + 0x5274]
mov dword [ebp - 0xe14], eax
cmp dword [ebp - 0xe14], 2
je 0x48b485
cmp dword [ebp - 0xe14], 5
je 0x48b4d1
jmp 0x48b52a
mov eax, dword [ebp - 0xe04]
imul eax, dword [eax + 0x5280], 5
mov ecx, dword [ebp - 0xe04]
imul ecx, dword [ecx + 0x5284], 5
add eax, ecx
mov ecx, dword [ebp - 0xe04]
imul ecx, dword [ecx + 0x5288], 0x3c
add eax, ecx
mov ecx, dword [ebp - 0xe04]
imul ecx, dword [ecx + 0x528c], 0x1e
add eax, ecx
xor edx, edx
push 0x64
pop ecx
div ecx
mov dword [ebp - 0xe10], eax
jmp 0x48b553
mov eax, dword [ebp - 0xe04]
cmp dword [eax + 0x5284], 0
jbe 0x48b4f0
mov eax, dword [ebp - 0xe04]
mov dword [eax + 0x5280], 0x64
mov eax, dword [ebp - 0xe04]
imul eax, dword [eax + 0x5280], 0xa
mov ecx, dword [ebp - 0xe04]
imul ecx, dword [ecx + 0x5284], 0xa
add eax, ecx
mov ecx, dword [ebp - 0xe04]
imul ecx, dword [ecx + 0x5288], 0x50
add eax, ecx
xor edx, edx
push 0x64
pop ecx
div ecx
mov dword [ebp - 0xe10], eax
jmp 0x48b553
mov eax, dword [ebp - 0xe04]
imul eax, dword [eax + 0x5288], 0x46
mov ecx, dword [ebp - 0xe04]
imul ecx, dword [ecx + 0x528c], 0x1e
add eax, ecx
xor edx, edx
push 0x64
pop ecx
div ecx
mov dword [ebp - 0xe10], eax
movzx eax, byte [ebp - 0xe05]
test eax, eax
jne 0x48b586
mov eax, dword [ebp + 8]
cmp dword [eax + 0x850], 1
je 0x48b586
mov eax, dword [ebp + 8]
cmp dword [eax + 0x84c], 0x64
je 0x48b586
mov eax, dword [ebp + 8]
cmp dword [eax + 0x848], 0x64
jne 0x48b6b2
mov eax, dword [ebp - 0xe10]
mov dword [ebp - 0x78c], eax
cmp dword [ebp - 0x790], 0x64
jbe 0x48b5a5
mov dword [ebp - 0x790], 0x64
cmp dword [ebp - 0x78c], 0x64
jbe 0x48b5b8
mov dword [ebp - 0x78c], 0x64
mov eax, dword [ebp + 8]
add eax, 0xa60
push eax
lea ecx, [ebp - 0xb8]
call fcn.00409053
mov byte [ebp - 4], 0x27
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.0044affe
pop ecx
pop ecx
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0xb8]
call fcn.0040a62b
mov byte [ebp - 4], 0x2b
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xe34], eax
mov byte [ebp - 4], 0x2c
mov byte [ebp - 4], 0x2d
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xa0]
call fcn.004059a0
push eax
push 0x104
lea eax, [ebp - 0x554]
push eax
call fcn.004ce833
add esp, 0xc
mov eax, dword [ebp - 0xe04]
cmp dword [eax + 0x1c], 0
je 0x48b683
mov edi, dword [ebp - 0xe04]
add edi, 0x5298
mov ecx, 0x19a
lea esi, [ebp - 0x798]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x798]
push eax
mov eax, dword [ebp - 0xe04]
push dword [eax + 0x34]
push dword [eax + 0x30]
mov eax, dword [ebp - 0xe04]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp - 0xe04]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c]
call dword [eax + 8]
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0xa0]
call fcn.00405a40
mov byte [ebp - 4], 0x2f
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xe30], eax
mov byte [ebp - 4], 0x30
mov byte [ebp - 4], 0x31
mov byte [ebp - 4], 0x22
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x88]
call fcn.00405a40
mov byte [ebp - 4], 0x33
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x88]
mov dword [ebp - 0xe2c], eax
mov byte [ebp - 4], 0x34
mov byte [ebp - 4], 0x35
mov byte [ebp - 4], 0x1b
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x70]
call fcn.00405a40
mov byte [ebp - 4], 0x37
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x70]
mov dword [ebp - 0xe28], eax
mov byte [ebp - 4], 0x38
mov byte [ebp - 4], 0x39
mov byte [ebp - 4], 0x14
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x58]
call fcn.00405a40
mov byte [ebp - 4], 0x3b
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x58]
mov dword [ebp - 0xe50], eax
mov byte [ebp - 4], 0x3c
mov byte [ebp - 4], 0x3d
mov byte [ebp - 4], 0xd
mov dword [ebp - 4], 0x3e
lea ecx, [ebp - 0x40]
call fcn.00405a40
mov dword [ebp - 4], 0x3f
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x40]
mov dword [ebp - 0xe24], eax
mov dword [ebp - 4], 0x40
mov dword [ebp - 4], 0x41
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ad99f
leave
ret 4