Function at 0x4e8230
Capabilities:
Contain obfuscated stackstrings
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x52d50a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb8
push ebx
push ebp
xor eax, eax
push esi
push edi
mov ebp, ecx
mov dword [esp + 0xb4], 0x530160
mov word [esp + 0xb8], 0xffff
mov word [esp + 0xba], ax
mov dword [esp + 0xd0], eax
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push 6
push 0x549430
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa1d0
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push 6
push 0x549bd4
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa410
mov ecx, dword [0x5540a8]
lea eax, [esp + 0xb4]
push eax
call fcn.004fa550
cmp ax, 0xffff
je 0x4ea85d
movsx eax, word [esp + 0xb8]
sub eax, 0
je 0x4e9a0f
dec eax
je 0x4e8fec
dec eax
jne 0x4e827d
push 8
push 0x548dac
lea ecx, [esp + 0x34]
call fcn.004f58e0
lea ecx, [esp + 0x30]
mov byte [esp + 0xd0], 0x3a
call fcn.004f5840
lea ecx, [esp + 0x64]
mov byte [esp + 0xd0], 0x3b
call fcn.004f5840
push 0
push 0
push ecx
mov byte [esp + 0xdc], 0x3c
mov ecx, esp
mov dword [esp + 0x44], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x3d
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549bcc
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x3c
call fcn.004f91a0
push 6
push 0x5482c0
lea ecx, [esp + 0x34]
call fcn.004f5de0
lea ecx, [esp + 0x2c]
push ecx
mov ecx, ebp
call fcn.004d3100
xor bl, bl
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0
call fcn.004f5870
lea edx, [esp + 0x38]
lea eax, [esp + 0x34]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
mov byte [esp + 0xe4], 0x3e
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 0x3c
call fcn.004d5e20
test al, al
je 0x4e8404
lea ecx, [esp + 0x30]
call fcn.004f5d00
cmp ax, 0x74
jne 0x4e8404
push 0x1c
lea ecx, [esp + 0x34]
call fcn.004f5b60
and eax, 0xff
lea eax, [eax + eax*2]
shl eax, 2
cdq
and edx, 0xf
add eax, edx
sar eax, 4
sub eax, 0x28
cmp eax, 0x3c
jg 0x4e840d
inc bl
cmp bl, 5
jb 0x4e838d
jmp 0x4e8416
cmp bl, 5
jb 0x4e8916
push 0
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x3f
mov ecx, esp
mov dword [esp + 0x48], esp
push 6
push 0x549bc4
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x3c
call fcn.004f91a0
cmp ax, 4
jne 0x4e8498
lea ecx, [esp + 0x64]
mov byte [esp + 0xd0], 0x3b
call fcn.004f5980
lea ecx, [esp + 0x30]
mov byte [esp + 0xd0], 0x3a
call fcn.004f5980
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd0], 0
call fcn.004f5980
jmp 0x4e827d
mov cl, byte [esp + 0x27]
mov edi, 0x554048
mov byte [esp + 0x44], cl
or ecx, 0xffffffff
xor eax, eax
xor esi, esi
xor edx, edx
mov dword [esp + 0x4c], esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x48], edx
mov ebx, ecx
mov dword [esp + 0x50], esi
cmp ebx, 0xfffffffd
jbe 0x4e84fd
call fcn.0051414b
mov edx, dword [esp + 0x48]
xor ecx, ecx
cmp edx, ecx
je 0x4e84f7
mov al, byte [edx - 1]
test al, al
je 0x4e84f7
cmp al, 0xff
je 0x4e84f7
cmp ebx, ecx
jne 0x4e8524
dec al
mov byte [edx - 1], al
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
jmp 0x4e8555
mov esi, dword [esp + 0x50]
jmp 0x4e84ff
xor ecx, ecx
cmp ebx, ecx
jne 0x4e8510
push 1
lea ecx, [esp + 0x48]
call fcn.004013e0
jmp 0x4e8555
cmp esi, 0x1f
ja 0x4e8519
cmp esi, ebx
jae 0x4e8532
push 1
lea ecx, [esp + 0x48]
call fcn.004013e0
push ebx
lea ecx, [esp + 0x48]
call fcn.00401a80
mov edx, dword [esp + 0x48]
mov ecx, ebx
mov edi, edx
mov edx, ecx
mov esi, 0x554048
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x4c], ebx
mov byte [eax + ebx], 0
mov cl, byte [0x554048]
xor edx, edx
mov dword [esp + 0x9d], edx
mov byte [esp + 0xd0], 0x40
mov dword [esp + 0xa1], edx
mov byte [esp + 0x9c], cl
mov byte [esp + 0xa5], dl
mov edi, 0x548aa8
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x9c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 1
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0
call fcn.004f5870
lea ecx, [esp + 0x38]
lea edx, [esp + 0x34]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
mov byte [esp + 0xe4], 0x41
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 0x40
call fcn.004d5e20
test al, al
je 0x4e863f
lea ecx, [esp + 0x30]
call fcn.004f5d00
cmp ax, 0x74
jne 0x4e863f
push 0x1c
lea ecx, [esp + 0x34]
call fcn.004f5b60
and eax, 0xff
sub esp, 8
lea ecx, [esp + 0xa4]
lea eax, [eax + eax*2]
shl eax, 2
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fmul qword [0x5302b0]
fsub qword [0x530198]
fstp qword [esp]
push str._.2f
push ecx
call fcn.0051497a
add esp, 0x10
lea edi, [esp + 0x9c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x4e865c
call fcn.0051414b
mov edi, dword [esp + 0x48]
xor esi, esi
cmp edi, esi
je 0x4e867c
mov al, byte [edi - 1]
test al, al
je 0x4e867c
cmp al, 0xff
je 0x4e867c
cmp ebx, esi
jne 0x4e86c7
dec al
mov byte [edi - 1], al
jmp 0x4e86a1
cmp ebx, esi
jne 0x4e86af
cmp edi, esi
je 0x4e86a1
mov al, byte [edi - 1]
lea ecx, [edi - 1]
test al, al
je 0x4e8698
cmp al, 0xff
je 0x4e8698
dec al
mov byte [ecx], al
jmp 0x4e86a1
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
jmp 0x4e86fa
mov eax, dword [esp + 0x50]
cmp eax, 0x1f
ja 0x4e86bc
cmp eax, ebx
jae 0x4e86d5
push 1
lea ecx, [esp + 0x48]
call fcn.004013e0
push ebx
lea ecx, [esp + 0x48]
call fcn.00401a80
mov edi, dword [esp + 0x48]
mov ecx, ebx
lea esi, [esp + 0x9c]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x4c], ebx
xor esi, esi
mov byte [eax + ebx], 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x549bbc
call fcn.004f58e0
mov ecx, dword [0x5540b4]
call fcn.004ff740
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x549bb4
call fcn.004f58e0
mov ecx, dword [0x5540b4]
call fcn.004ff8c0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x549bac
call fcn.004f58e0
sub esp, 0x10
lea edx, [esp + 0x58]
mov ecx, esp
mov dword [esp + 0x4c], esp
push edx
mov byte [esp + 0xe8], 0x42
call fcn.0041fc70
push ecx
mov byte [esp + 0xe8], 0x43
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x549ba4
call fcn.004f58e0
mov ecx, dword [0x5540b4]
mov byte [esp + 0xe8], 0x40
call fcn.004ffc60
mov ecx, dword [0x5540b4]
call fcn.004ffe70
test ax, ax
jne 0x4e8581
push 1
push ecx
xor esi, esi
mov ecx, esp
mov dword [esp + 0x18], esp
push esi
call fcn.004f5870
lea eax, [esp + 0x38]
lea edx, [esp + 0x34]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0x44
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 0x40
call fcn.004d5e20
test al, al
je 0x4e89ec
lea ecx, [esp + 0x30]
call fcn.004f5d00
cmp ax, 0x74
jne 0x4e89ec
push 0x1c
lea ecx, [esp + 0x34]
call fcn.004f5b60
and eax, 0xff
lea eax, [eax + eax*2]
shl eax, 2
cdq
and edx, 0xf
add eax, edx
sar eax, 4
sub eax, 0x28
cmp eax, 0x46
jg 0x4e88dd
push esi
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x46
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b9c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x40
call fcn.004f91a0
cmp ax, 4
jne 0x4e88dd
mov eax, dword [esp + 0x48]
cmp eax, esi
je 0x4e8899
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4e8890
cmp al, 0xff
je 0x4e8890
dec al
mov byte [ecx], al
jmp 0x4e8899
push ecx
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x64]
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov byte [esp + 0xd0], 0x3b
call fcn.004f5980
lea ecx, [esp + 0x30]
mov byte [esp + 0xd0], 0x3a
call fcn.004f5980
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd0], 0
call fcn.004f5980
jmp 0x4e827d
mov eax, dword [esp + 0x48]
mov byte [esp + 0xd0], 0x3c
cmp eax, esi
je 0x4e890a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4e8901
cmp al, 0xff
je 0x4e8901
dec al
mov byte [ecx], al
jmp 0x4e890a
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
xor esi, esi
push esi
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x47
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b94
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x3c
call fcn.004f91a0
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 8
push 0x548fa4
lea ecx, [esp + 0x34]
call fcn.004f5de0
push 8
push 0x548fb0
lea ecx, [esp + 0x6c]
call fcn.004f5de0
lea eax, [esp + 0x2c]
mov ecx, ebp
push eax
call fcn.004d3100
lea ecx, [esp + 0x64]
push ecx
mov ecx, ebp
call fcn.004d3100
xor bl, bl
push 1
push ecx
lea edx, [esp + 0x6c]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x38]
lea edx, [esp + 0x34]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0x48
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 0x3c
call fcn.004d5e20
test al, al
jne 0x4e8a34
inc bl
cmp bl, 5
jb 0x4e899f
jmp 0x4e8a39
push esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x45
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x5493d0
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x40
call fcn.004f91a0
jmp 0x4e8874
cmp bl, 5
jb 0x4e8ab4
push esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x49
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b8c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x3c
call fcn.004f91a0
lea ecx, [esp + 0x64]
mov byte [esp + 0xd0], 0x3b
call fcn.004f5980
lea ecx, [esp + 0x30]
mov byte [esp + 0xd0], 0x3a
call fcn.004f5980
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd0], 0
call fcn.004f5980
jmp 0x4e827d
push esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x4a
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b84
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x3c
call fcn.004f91a0
push esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x4b
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b7c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x3c
call fcn.004f91a0
push esi
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x4c
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b74
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x3c
call fcn.004f91a0
push 8
push 0x548fbc
lea ecx, [esp + 0x34]
call fcn.004f5de0
lea eax, [esp + 0x2c]
mov ecx, ebp
push eax
call fcn.004d3100
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push esi
call fcn.004f5870
lea ecx, [esp + 0x38]
lea edx, [esp + 0x34]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0x4d
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 0x3c
call fcn.004d5e20
push 7
push 0x5493a8
lea ecx, [esp + 0x34]
call fcn.004f5de0
lea eax, [esp + 0x2c]
mov ecx, ebp
push eax
call fcn.004d3100
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push esi
call fcn.004f5870
lea ecx, [esp + 0x38]
lea edx, [esp + 0x34]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0x4e
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 0x3c
call fcn.004d5e20
push esi
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x4f
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b6c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x3c
call fcn.004f91a0
cmp ax, 4
jne 0x4e8cad
lea ecx, [esp + 0x64]
mov byte [esp + 0xd0], 0x3b
call fcn.004f5980
lea ecx, [esp + 0x30]
mov byte [esp + 0xd0], 0x3a
call fcn.004f5980
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd0], 0
call fcn.004f5980
jmp 0x4e827d
push 7
push 0x548828
lea ecx, [esp + 0x34]
call fcn.004f5de0
lea eax, [esp + 0x2c]
mov ecx, ebp
push eax
call fcn.004d3100
mov cl, byte [esp + 0x27]
mov edi, 0x554048
mov byte [esp + 0x80], cl
or ecx, 0xffffffff
xor eax, eax
xor edx, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x84], edx
mov ebx, ecx
mov dword [esp + 0x88], esi
cmp ebx, 0xfffffffd
mov dword [esp + 0x8c], esi
jbe 0x4e8d36
call fcn.0051414b
mov edx, dword [esp + 0x84]
xor edi, edi
cmp edx, edi
je 0x4e8d2d
mov al, byte [edx - 1]
test al, al
je 0x4e8d2d
cmp al, 0xff
je 0x4e8d2d
cmp ebx, edi
jne 0x4e8daf
dec al
mov byte [edx - 1], al
jmp 0x4e8d5b
mov esi, dword [esp + 0x8c]
jmp 0x4e8d38
xor edi, edi
cmp ebx, edi
jne 0x4e8d72
cmp edx, edi
je 0x4e8d5b
mov al, byte [edx - 1]
dec edx
test al, al
je 0x4e8d52
cmp al, 0xff
je 0x4e8d52
dec al
mov byte [edx], al
jmp 0x4e8d5b
push edx
call fcn.00514140
add esp, 4
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
jmp 0x4e8dec
cmp esi, 0x1f
ja 0x4e8d7b
cmp esi, ebx
jae 0x4e8dc3
cmp edx, edi
je 0x4e8d9a
mov al, byte [edx - 1]
dec edx
test al, al
je 0x4e8d91
cmp al, 0xff
je 0x4e8d91
dec al
mov byte [edx], al
jmp 0x4e8d9a
push edx
call fcn.00514140
add esp, 4
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
push ebx
lea ecx, [esp + 0x84]
call fcn.00401a80
mov edx, dword [esp + 0x84]
mov ecx, ebx
mov edi, edx
mov edx, ecx
mov esi, 0x554048
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x88], ebx
mov byte [eax + ebx], 0
mov cl, byte [0x554048]
xor edx, edx
mov dword [esp + 0xbd], edx
mov byte [esp + 0xd0], 0x50
mov dword [esp + 0xc1], edx
mov byte [esp + 0xbc], cl
mov byte [esp + 0xc5], dl
mov edi, 0x548aa8
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xbc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 1
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0
call fcn.004f5870
lea ecx, [esp + 0x38]
lea edx, [esp + 0x34]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0x51
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 0x50
call fcn.004d5e20
test al, al
je 0x4e8edb
lea ecx, [esp + 0x30]
call fcn.004f5d00
cmp ax, 9
jne 0x4e8edb
push 6
lea ecx, [esp + 0x34]
call fcn.004f5b60
xor ebx, ebx
push 7
lea ecx, [esp + 0x34]
mov bh, al
call fcn.004f5b60
and eax, 0xff
sub esp, 8
or ebx, eax
lea eax, [esp + 0xc4]
mov dword [esp + 0x40], ebx
fild dword [esp + 0x40]
fmul qword [0x530200]
fstp qword [esp]
push str._.2f
push eax
call fcn.0051497a
add esp, 0x10
lea ecx, [esp + 0xbc]
push ecx
lea ecx, [esp + 0x84]
call fcn.0041fe80
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x549b64
call fcn.004f58e0
mov ecx, dword [0x5540b4]
call fcn.004ff740
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x549bb4
call fcn.004f58e0
mov ecx, dword [0x5540b4]
call fcn.004ff8c0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x549b5c
call fcn.004f58e0
sub esp, 0x10
lea edx, [esp + 0x94]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0xe8], 0x52
call fcn.0041fc70
push ecx
mov byte [esp + 0xe8], 0x53
mov ecx, esp
mov dword [esp + 0x50], esp
push 6
push 0x549b54
call fcn.004f58e0
mov ecx, dword [0x5540b4]
mov byte [esp + 0xe8], 0x50
call fcn.004ffc60
mov ecx, dword [0x5540b4]
call fcn.004ffe70
test ax, ax
jne 0x4e8e18
lea ecx, [esp + 0x80]
mov byte [esp + 0xd0], 0x3c
call fcn.004010f0
lea ecx, [esp + 0x64]
mov byte [esp + 0xd0], 0x3b
call fcn.004f5980
lea ecx, [esp + 0x30]
mov byte [esp + 0xd0], 0x3a
call fcn.004f5980
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd0], 0
call fcn.004f5980
jmp 0x4e827d
push 8
push 0x548dac
lea ecx, [esp + 0x3c]
call fcn.004f58e0
lea ecx, [esp + 0x28]
mov byte [esp + 0xd0], 0x22
call fcn.004f5840
lea ecx, [esp + 0x68]
mov byte [esp + 0xd0], 0x23
call fcn.004f5840
push 0
push 0
push ecx
mov byte [esp + 0xdc], 0x24
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x25
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b4c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x24
call fcn.004f91a0
xor bl, bl
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0
call fcn.004f5870
lea eax, [esp + 0x30]
lea edx, [esp + 0x3c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0x26
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 0x24
call fcn.004d5e20
test al, al
je 0x4e9118
lea ecx, [esp + 0x28]
call fcn.004f5d00
cmp ax, 6
jl 0x4e9118
lea ecx, [esp + 0x28]
call fcn.004f5d00
movsx eax, ax
sub eax, 6
push 4
cdq
and edx, 3
lea ecx, [esp + 0x2c]
add eax, edx
mov esi, eax
sar esi, 2
call fcn.004f5b60
and eax, 0xff
cmp eax, esi
jge 0x4e90fc
push 4
lea ecx, [esp + 0x2c]
call fcn.004f5b60
and eax, 0xff
jmp 0x4e9114
lea ecx, [esp + 0x28]
call fcn.004f5d00
movsx eax, ax
sub eax, 6
cdq
and edx, 3
add eax, edx
sar eax, 2
test eax, eax
je 0x4e9125
inc bl
cmp bl, 5
jb 0x4e906c
jmp 0x4e912a
cmp bl, 5
jb 0x4e9178
push 0
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x27
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b44
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x24
call fcn.004f91a0
cmp ax, 4
je 0x4e99d7
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x28
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549bcc
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x24
call fcn.004f91a0
push 6
push 0x5482c0
lea ecx, [esp + 0x3c]
call fcn.004f5de0
lea eax, [esp + 0x34]
mov ecx, ebp
push eax
call fcn.004d3100
xor bl, bl
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0
call fcn.004f5870
lea ecx, [esp + 0x30]
lea edx, [esp + 0x3c]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0x29
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 0x24
call fcn.004d5e20
test al, al
je 0x4e9251
lea ecx, [esp + 0x28]
call fcn.004f5d00
cmp ax, 0x74
jne 0x4e9251
push 0x1c
lea ecx, [esp + 0x2c]
call fcn.004f5b60
and eax, 0xff
lea eax, [eax + eax*2]
shl eax, 2
cdq
and edx, 0xf
add eax, edx
sar eax, 4
sub eax, 0x28
cmp eax, 0x46
jg 0x4e925a
inc bl
cmp bl, 5
jb 0x4e91da
jmp 0x4e9263
cmp bl, 5
jb 0x4e96cf
push 0
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x2a
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b3c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x24
call fcn.004f91a0
cmp ax, 4
je 0x4e99d7
mov al, byte [esp + 0x27]
mov edi, 0x554048
mov byte [esp + 0x54], al
or ecx, 0xffffffff
xor eax, eax
xor esi, esi
xor edx, edx
mov dword [esp + 0x5c], esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x58], edx
mov ebx, ecx
mov dword [esp + 0x60], esi
cmp ebx, 0xfffffffd
jbe 0x4e9310
call fcn.0051414b
mov edx, dword [esp + 0x58]
test edx, edx
je 0x4e930c
mov al, byte [edx - 1]
test al, al
je 0x4e930c
cmp al, 0xff
je 0x4e930c
test ebx, ebx
jne 0x4e9335
dec al
push ebx
lea ecx, [esp + 0x58]
mov byte [edx - 1], al
call fcn.004013e0
jmp 0x4e9366
mov esi, dword [esp + 0x60]
test ebx, ebx
jne 0x4e9321
push 1
lea ecx, [esp + 0x58]
call fcn.004013e0
jmp 0x4e9366
cmp esi, 0x1f
ja 0x4e932a
cmp esi, ebx
jae 0x4e9343
push 1
lea ecx, [esp + 0x58]
call fcn.004013e0
push ebx
lea ecx, [esp + 0x58]
call fcn.00401a80
mov edx, dword [esp + 0x58]
mov ecx, ebx
mov edi, edx
mov edx, ecx
mov esi, 0x554048
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x5c], ebx
mov byte [ebx + eax], 0
mov cl, byte [0x554048]
xor edx, edx
mov dword [esp + 0xa9], edx
mov byte [esp + 0xd0], 0x2b
mov dword [esp + 0xad], edx
mov byte [esp + 0xa8], cl
mov byte [esp + 0xb1], dl
mov edi, 0x548aa8
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xa8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 1
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0
call fcn.004f5870
lea ecx, [esp + 0x30]
lea edx, [esp + 0x3c]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0x2c
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 0x2b
call fcn.004d5e20
test al, al
je 0x4e9450
lea ecx, [esp + 0x28]
call fcn.004f5d00
cmp ax, 0x74
jne 0x4e9450
push 0x1c
lea ecx, [esp + 0x2c]
call fcn.004f5b60
and eax, 0xff
sub esp, 8
lea ecx, [esp + 0xb0]
lea eax, [eax + eax*2]
shl eax, 2
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fmul qword [0x5302b0]
fsub qword [0x530198]
fstp qword [esp]
push str._.2f
push ecx
call fcn.0051497a
add esp, 0x10
lea edi, [esp + 0xa8]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x4e946d
call fcn.0051414b
mov edi, dword [esp + 0x58]
xor esi, esi
cmp edi, esi
je 0x4e9499
mov al, byte [edi - 1]
test al, al
je 0x4e9499
cmp al, 0xff
je 0x4e9499
cmp ebx, esi
jne 0x4e94c2
dec al
mov byte [edi - 1], al
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
jmp 0x4e94f5
cmp ebx, esi
jne 0x4e94aa
push 1
lea ecx, [esp + 0x58]
call fcn.004013e0
jmp 0x4e94f5
mov eax, dword [esp + 0x60]
cmp eax, 0x1f
ja 0x4e94b7
cmp eax, ebx
jae 0x4e94d0
push 1
lea ecx, [esp + 0x58]
call fcn.004013e0
push ebx
lea ecx, [esp + 0x58]
call fcn.00401a80
mov edi, dword [esp + 0x58]
mov ecx, ebx
lea esi, [esp + 0xa8]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x5c], ebx
xor esi, esi
mov byte [ebx + eax], 0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x549bbc
call fcn.004f58e0
mov ecx, dword [0x5540b4]
call fcn.004ff740
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x549bb4
call fcn.004f58e0
mov ecx, dword [0x5540b4]
call fcn.004ff8c0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x549bac
call fcn.004f58e0
sub esp, 0x10
lea edx, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0xe8], 0x2d
call fcn.0041fc70
push ecx
mov byte [esp + 0xe8], 0x2e
mov ecx, esp
mov dword [esp + 0x50], esp
push 6
push 0x549ba4
call fcn.004f58e0
mov ecx, dword [0x5540b4]
mov byte [esp + 0xe8], 0x2b
call fcn.004ffc60
mov ecx, dword [0x5540b4]
call fcn.004ffe70
test ax, ax
jne 0x4e9392
push 1
push ecx
xor esi, esi
mov ecx, esp
mov dword [esp + 0x18], esp
push esi
call fcn.004f5870
lea eax, [esp + 0x30]
lea edx, [esp + 0x3c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0x2f
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 0x2b
call fcn.004d5e20
test al, al
je 0x4e97a9
lea ecx, [esp + 0x28]
call fcn.004f5d00
cmp ax, 0x74
jne 0x4e97a9
push 0x1c
lea ecx, [esp + 0x2c]
call fcn.004f5b60
and eax, 0xff
lea eax, [eax + eax*2]
shl eax, 2
cdq
and edx, 0xf
add eax, edx
sar eax, 4
sub eax, 0x28
cmp eax, 0x46
jg 0x4e9696
push esi
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x31
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b34
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x2b
call fcn.004f91a0
cmp ax, 4
jne 0x4e9696
mov eax, dword [esp + 0x58]
cmp eax, esi
je 0x4e9811
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4e9808
cmp al, 0xff
je 0x4e9808
dec al
mov byte [ecx], al
jmp 0x4e9811
mov eax, dword [esp + 0x58]
mov byte [esp + 0xd0], 0x24
cmp eax, esi
je 0x4e96c3
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4e96ba
cmp al, 0xff
je 0x4e96ba
dec al
mov byte [ecx], al
jmp 0x4e96c3
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x32
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b2c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x24
call fcn.004f91a0
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 8
push 0x548f80
lea ecx, [esp + 0x3c]
call fcn.004f5de0
push 8
push 0x548f8c
lea ecx, [esp + 0x70]
call fcn.004f5de0
lea eax, [esp + 0x34]
mov ecx, ebp
push eax
call fcn.004d3100
lea ecx, [esp + 0x68]
push ecx
mov ecx, ebp
call fcn.004d3100
xor bl, bl
push 1
push ecx
lea edx, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x30]
lea edx, [esp + 0x3c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0x33
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 0x24
call fcn.004d5e20
test al, al
jne 0x4e9822
inc bl
cmp bl, 5
jb 0x4e9758
jmp 0x4e9827
push esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x30
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x5493d0
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x2b
call fcn.004f91a0
mov eax, dword [esp + 0x58]
cmp eax, esi
je 0x4e9811
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4e9808
cmp al, 0xff
je 0x4e9808
dec al
mov byte [ecx], al
jmp 0x4e9811
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
jmp 0x4e99d7
cmp bl, 5
jb 0x4e9859
push 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x34
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b24
jmp 0x4e99c0
push 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x35
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b1c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x24
call fcn.004f91a0
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x36
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b14
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x24
call fcn.004f91a0
push 8
push 0x548f98
lea ecx, [esp + 0x3c]
call fcn.004f5de0
lea eax, [esp + 0x34]
mov ecx, ebp
push eax
call fcn.004d3100
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0
call fcn.004f5870
lea ecx, [esp + 0x30]
lea edx, [esp + 0x3c]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0x37
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 0x24
call fcn.004d5e20
push 7
push 0x549340
lea ecx, [esp + 0x3c]
call fcn.004f5de0
lea eax, [esp + 0x34]
mov ecx, ebp
push eax
call fcn.004d3100
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0
call fcn.004f5870
mov byte [esp + 0xd8], 0x38
lea ecx, [esp + 0x30]
lea edx, [esp + 0x3c]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 0x24
call fcn.004d5e20
push 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x39
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b0c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x24
call fcn.004f91a0
lea ecx, [esp + 0x68]
mov byte [esp + 0xd0], 0x23
call fcn.004f5980
lea ecx, [esp + 0x28]
mov byte [esp + 0xd0], 0x22
call fcn.004f5980
lea ecx, [esp + 0x34]
mov byte [esp + 0xd0], 0
call fcn.004f5980
jmp 0x4e827d
push 8
push 0x548dac
lea ecx, [esp + 0x28]
call fcn.004f58e0
lea ecx, [esp + 0x18]
mov byte [esp + 0xd0], 1
call fcn.004f5840
lea ecx, [esp + 0x40]
mov byte [esp + 0xd0], 2
call fcn.004f5840
push 0
push 0
push ecx
mov byte [esp + 0xdc], 3
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
mov byte [esp + 0x3b], 0
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 4
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x548254
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
mov byte [esp + 0x1f], 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0
call fcn.004f5870
lea eax, [esp + 0x20]
lea edx, [esp + 0x28]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 5
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 3
call fcn.004d5e20
test al, al
je 0x4e9b91
lea ecx, [esp + 0x18]
call fcn.004f5d00
cmp ax, 0xa
jl 0x4e9b91
lea ecx, [esp + 0x18]
call fcn.004f5d00
movsx eax, ax
sub eax, 6
push 4
cdq
and edx, 3
lea ecx, [esp + 0x1c]
add eax, edx
mov esi, eax
sar esi, 2
call fcn.004f5b60
and eax, 0xff
cmp eax, esi
jge 0x4e9b2a
push 4
lea ecx, [esp + 0x1c]
call fcn.004f5b60
jmp 0x4e9b42
lea ecx, [esp + 0x18]
call fcn.004f5d00
movsx eax, ax
sub eax, 6
cdq
and edx, 3
add eax, edx
sar eax, 2
xor cl, cl
mov byte [esp + 0x3f], al
test al, al
mov byte [esp + 0x7c], cl
jbe 0x4e9b91
movzx si, cl
shl esi, 2
lea ecx, [esp + 0x18]
lea eax, [esi + 5]
push eax
call fcn.004f5b60
add esi, 6
xor ebx, ebx
push esi
lea ecx, [esp + 0x1c]
mov bh, al
call fcn.004f5b60
mov bl, al
cmp ebx, 0x1336
je 0x4e9ba4
mov cl, byte [esp + 0x7c]
mov al, byte [esp + 0x3f]
inc cl
cmp cl, al
mov byte [esp + 0x7c], cl
jb 0x4e9b50
mov al, byte [esp + 0x1f]
inc al
cmp al, 5
mov byte [esp + 0x1f], al
jae 0x4e9bb5
jmp 0x4e9a97
mov al, byte [esp + 0x1f]
mov byte [esp + 0x27], 1
cmp al, 5
jb 0x4e9c37
push 0
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 6
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549b04
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
cmp ax, 4
jne 0x4e9c70
lea ecx, [esp + 0x40]
mov byte [esp + 0xd0], 2
call fcn.004f5980
lea ecx, [esp + 0x18]
mov byte [esp + 0xd0], 1
call fcn.004f5980
lea ecx, [esp + 0x20]
mov byte [esp + 0xd0], 0
call fcn.004f5980
jmp 0x4e827d
cmp byte [esp + 0x3f], 1
je 0x4e9c70
push 0
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 7
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549afc
jmp 0x4e9be2
push 0
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 8
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549af4
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
cmp ax, 4
je 0x4e9bff
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 9
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549bcc
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
push 6
push 0x5482c0
lea ecx, [esp + 0x28]
call fcn.004f5de0
lea ecx, [esp + 0x20]
push ecx
mov ecx, ebp
call fcn.004d3100
xor bl, bl
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0
call fcn.004f5870
lea edx, [esp + 0x20]
lea eax, [esp + 0x28]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
mov byte [esp + 0xe4], 0xa
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 3
call fcn.004d5e20
test al, al
je 0x4e9d97
lea ecx, [esp + 0x18]
call fcn.004f5d00
cmp ax, 0x74
jne 0x4e9d97
push 0x1c
lea ecx, [esp + 0x1c]
call fcn.004f5b60
and eax, 0xff
lea eax, [eax + eax*2]
shl eax, 2
cdq
and edx, 0xf
add eax, edx
sar eax, 4
sub eax, 0x28
cmp eax, 0x3c
jg 0x4e9da0
inc bl
cmp bl, 5
jb 0x4e9d20
jmp 0x4e9da9
cmp bl, 5
jb 0x4ea23c
xor esi, esi
push esi
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0xb
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549aec
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
cmp ax, 4
je 0x4e9bff
mov cl, byte [esp + 0x27]
mov edi, 0x554048
mov byte [esp + 0x6c], cl
or ecx, 0xffffffff
xor eax, eax
xor edx, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x70], edx
mov ebx, ecx
mov dword [esp + 0x74], esi
cmp ebx, 0xfffffffd
mov dword [esp + 0x78], esi
jbe 0x4e9e55
call fcn.0051414b
mov edx, dword [esp + 0x70]
test edx, edx
je 0x4e9e51
mov al, byte [edx - 1]
test al, al
je 0x4e9e51
cmp al, 0xff
je 0x4e9e51
test ebx, ebx
jne 0x4e9e7a
dec al
push ebx
lea ecx, [esp + 0x70]
mov byte [edx - 1], al
call fcn.004013e0
jmp 0x4e9eab
mov esi, dword [esp + 0x78]
test ebx, ebx
jne 0x4e9e66
push 1
lea ecx, [esp + 0x70]
call fcn.004013e0
jmp 0x4e9eab
cmp esi, 0x1f
ja 0x4e9e6f
cmp esi, ebx
jae 0x4e9e88
push 1
lea ecx, [esp + 0x70]
call fcn.004013e0
push ebx
lea ecx, [esp + 0x70]
call fcn.00401a80
mov edx, dword [esp + 0x70]
mov ecx, ebx
mov edi, edx
mov edx, ecx
mov esi, 0x554048
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x74], ebx
mov byte [eax + ebx], 0
mov cl, byte [0x554048]
xor edx, edx
mov dword [esp + 0x91], edx
mov byte [esp + 0xd0], 0xc
mov dword [esp + 0x95], edx
mov byte [esp + 0x90], cl
mov byte [esp + 0x99], dl
mov edi, 0x548548
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x90]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 1
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0
call fcn.004f5870
lea ecx, [esp + 0x20]
lea edx, [esp + 0x28]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0xd
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 0xc
call fcn.004d5e20
test al, al
je 0x4e9f95
lea ecx, [esp + 0x18]
call fcn.004f5d00
cmp ax, 0x74
jne 0x4e9f95
push 0x1c
lea ecx, [esp + 0x1c]
call fcn.004f5b60
and eax, 0xff
sub esp, 8
lea ecx, [esp + 0x98]
lea eax, [eax + eax*2]
shl eax, 2
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fmul qword [0x5302b0]
fsub qword [0x530198]
fstp qword [esp]
push str._.2f
push ecx
call fcn.0051497a
add esp, 0x10
lea edi, [esp + 0x90]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x4e9fb2
call fcn.0051414b
mov edi, dword [esp + 0x70]
xor esi, esi
cmp edi, esi
je 0x4e9fdc
mov al, byte [edi - 1]
test al, al
je 0x4e9fdc
cmp al, 0xff
je 0x4e9fdc
cmp ebx, esi
jne 0x4ea005
dec al
push esi
lea ecx, [esp + 0x70]
mov byte [edi - 1], al
call fcn.004013e0
jmp 0x4ea038
cmp ebx, esi
jne 0x4e9fed
push 1
lea ecx, [esp + 0x70]
call fcn.004013e0
jmp 0x4ea038
mov eax, dword [esp + 0x78]
cmp eax, 0x1f
ja 0x4e9ffa
cmp eax, ebx
jae 0x4ea013
push 1
lea ecx, [esp + 0x70]
call fcn.004013e0
push ebx
lea ecx, [esp + 0x70]
call fcn.00401a80
mov edi, dword [esp + 0x70]
mov ecx, ebx
lea esi, [esp + 0x90]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x74], ebx
xor esi, esi
mov byte [eax + ebx], 0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x549bbc
call fcn.004f58e0
mov ecx, dword [0x5540b4]
call fcn.004ff740
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x549bb4
call fcn.004f58e0
mov ecx, dword [0x5540b4]
call fcn.004ff8c0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x549bac
call fcn.004f58e0
sub esp, 0x10
lea edx, [esp + 0x80]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0xe8], 0xe
call fcn.0041fc70
push ecx
mov byte [esp + 0xe8], 0xf
mov ecx, esp
mov dword [esp + 0x50], esp
push 6
push 0x549ba4
call fcn.004f58e0
mov ecx, dword [0x5540b4]
mov byte [esp + 0xe8], 0xc
call fcn.004ffc60
mov ecx, dword [0x5540b4]
call fcn.004ffe70
test ax, ax
je 0x4ea111
push 0x1c
lea ecx, [esp + 0x1c]
call fcn.004f5b60
and eax, 0xff
lea eax, [eax + eax*2]
shl eax, 2
cdq
and edx, 0xf
add eax, edx
sar eax, 4
sub eax, 0x28
cmp eax, 0x3c
jle 0x4e9ed7
xor esi, esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push esi
call fcn.004f5870
lea eax, [esp + 0x20]
lea edx, [esp + 0x28]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0x10
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 0xc
call fcn.004d5e20
test al, al
je 0x4ea316
lea ecx, [esp + 0x18]
call fcn.004f5d00
cmp ax, 0x74
jne 0x4ea316
push 0x1c
lea ecx, [esp + 0x1c]
call fcn.004f5b60
and eax, 0xff
lea eax, [eax + eax*2]
shl eax, 2
cdq
and edx, 0xf
add eax, edx
sar eax, 4
sub eax, 0x28
cmp eax, 0x3c
jg 0x4ea203
push esi
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x12
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549ae4
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0xc
call fcn.004f91a0
cmp ax, 4
jne 0x4ea203
mov eax, dword [esp + 0x70]
cmp eax, esi
je 0x4ea37e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4ea375
cmp al, 0xff
je 0x4ea375
dec al
mov byte [ecx], al
jmp 0x4ea37e
mov eax, dword [esp + 0x70]
mov byte [esp + 0xd0], 3
cmp eax, esi
je 0x4ea230
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4ea227
cmp al, 0xff
je 0x4ea227
dec al
mov byte [ecx], al
jmp 0x4ea230
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x13
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549adc
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 8
push 0x549054
lea ecx, [esp + 0x28]
call fcn.004f5de0
push 8
push 0x549060
lea ecx, [esp + 0x48]
call fcn.004f5de0
lea eax, [esp + 0x20]
mov ecx, ebp
push eax
call fcn.004d3100
lea ecx, [esp + 0x40]
push ecx
mov ecx, ebp
call fcn.004d3100
xor bl, bl
push 1
push ecx
lea edx, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x20]
lea edx, [esp + 0x28]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0x14
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 3
call fcn.004d5e20
test al, al
jne 0x4ea38f
inc bl
cmp bl, 5
jb 0x4ea2c5
jmp 0x4ea394
push esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x11
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x5493d0
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0xc
call fcn.004f91a0
mov eax, dword [esp + 0x70]
cmp eax, esi
je 0x4ea37e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4ea375
cmp al, 0xff
je 0x4ea375
dec al
mov byte [ecx], al
jmp 0x4ea37e
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
jmp 0x4e9bff
cmp bl, 5
jb 0x4ea3dd
push 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x15
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549ad4
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
jmp 0x4e9bff
push 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x16
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549acc
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x17
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549ac4
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
push 8
push 0x54906c
lea ecx, [esp + 0x28]
call fcn.004f5de0
lea eax, [esp + 0x20]
mov ecx, ebp
push eax
call fcn.004d3100
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0
call fcn.004f5870
lea ecx, [esp + 0x20]
lea edx, [esp + 0x28]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0x18
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 3
call fcn.004d5e20
push 7
push 0x5492e8
lea ecx, [esp + 0x28]
call fcn.004f5de0
lea eax, [esp + 0x20]
mov ecx, ebp
push eax
call fcn.004d3100
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0
call fcn.004f5870
mov byte [esp + 0xd8], 0x19
lea ecx, [esp + 0x20]
lea edx, [esp + 0x28]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 3
call fcn.004d5e20
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x1c]
push 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x1a
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549abc
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x18]
test ax, ax
jne 0x4e9bff
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x1b
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x54827c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
push 7
push 0x5483e8
lea ecx, [esp + 0x28]
call fcn.004f5de0
push 7
push 0x5483e0
lea ecx, [esp + 0x48]
call fcn.004f5de0
lea eax, [esp + 0x20]
mov ecx, ebp
push eax
call fcn.004d3100
lea ecx, [esp + 0x40]
push ecx
mov ecx, ebp
call fcn.004d3100
xor bl, bl
push 1
push ecx
lea edx, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x20]
lea edx, [esp + 0x28]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0x1c
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 3
call fcn.004d5e20
test al, al
jne 0x4ea63d
inc bl
cmp bl, 5
jb 0x4ea5f2
push 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x1d
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549ab4
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x1e
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x548254
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
push 8
push 0x548dac
lea ecx, [esp + 0x28]
call fcn.004f5de0
mov byte [esp + 0x1f], 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0
call fcn.004f5870
lea eax, [esp + 0x20]
lea edx, [esp + 0x28]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
mov byte [esp + 0xe4], 0x1f
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xe0], 3
call fcn.004d5e20
test al, al
je 0x4ea7d7
lea ecx, [esp + 0x18]
call fcn.004f5d00
cmp ax, 6
jl 0x4ea7d7
mov byte [esp + 0x7c], 0
lea ecx, [esp + 0x18]
call fcn.004f5d00
movsx eax, ax
sub eax, 6
push 4
cdq
and edx, 3
lea ecx, [esp + 0x1c]
add eax, edx
mov esi, eax
sar esi, 2
call fcn.004f5b60
and eax, 0xff
cmp eax, esi
jge 0x4ea777
push 4
lea ecx, [esp + 0x1c]
call fcn.004f5b60
and eax, 0xff
jmp 0x4ea78f
lea ecx, [esp + 0x18]
call fcn.004f5d00
movsx eax, ax
sub eax, 6
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [esp + 0x7c]
and ecx, 0xff
cmp ecx, eax
jge 0x4ea7d7
movzx si, byte [esp + 0x7c]
shl esi, 2
lea ecx, [esp + 0x18]
lea edx, [esi + 5]
push edx
call fcn.004f5b60
add esi, 6
xor ebx, ebx
push esi
lea ecx, [esp + 0x1c]
mov bh, al
call fcn.004f5b60
mov bl, al
cmp ebx, 0x1336
je 0x4ea7f2
inc byte [esp + 0x7c]
jmp 0x4ea737
mov al, byte [esp + 0x27]
test al, al
jne 0x4ea7f2
mov al, byte [esp + 0x1f]
inc al
cmp al, 5
mov byte [esp + 0x1f], al
jae 0x4ea7f9
jmp 0x4ea6da
cmp byte [esp + 0x1f], 5
jb 0x4ea82b
push 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x20
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549aac
jmp 0x4ea3c1
push 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0xe0], 0x21
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549aa4
jmp 0x4ea3c1
lea ecx, [esp + 0xb4]
call fcn.00401000
mov ecx, dword [esp + 0xc8]
pop edi
xor ax, ax
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret