Function at 0x41d630
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 0x51ebda
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 0x548740
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa1d0
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push 6
push 0x549428
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa410
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push 6
push 0x549420
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa410
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push 6
push 0x549418
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 0x41fc46
movsx eax, word [esp + 0xb8]
sub eax, 0
je 0x41ee33
dec eax
je 0x41e41e
dec eax
jne 0x41d67d
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 0x549410
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 ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0
call fcn.004f5870
lea edx, [esp + 0x34]
lea eax, [esp + 0x30]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
mov byte [esp + 0xe0], 0x3e
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 0x3c
call fcn.0040ba60
test al, al
je 0x41d842
lea ecx, [esp + 0x30]
call fcn.004f5d00
cmp ax, 0x74
jne 0x41d842
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 0x41d84b
inc bl
cmp bl, 5
jb 0x41d7cd
jmp 0x41d854
cmp bl, 5
jb 0x41dd50
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 0x549408
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x3c
call fcn.004f91a0
cmp ax, 4
jne 0x41d8d6
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 0x41d67d
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 0x41d93b
call fcn.0051414b
mov edx, dword [esp + 0x48]
xor ecx, ecx
cmp edx, ecx
je 0x41d935
mov al, byte [edx - 1]
test al, al
je 0x41d935
cmp al, 0xff
je 0x41d935
cmp ebx, ecx
jne 0x41d962
dec al
mov byte [edx - 1], al
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
jmp 0x41d993
mov esi, dword [esp + 0x50]
jmp 0x41d93d
xor ecx, ecx
cmp ebx, ecx
jne 0x41d94e
push 1
lea ecx, [esp + 0x48]
call fcn.004013e0
jmp 0x41d993
cmp esi, 0x1f
ja 0x41d957
cmp esi, ebx
jae 0x41d970
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
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 + 0x34]
lea edx, [esp + 0x30]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
mov byte [esp + 0xe0], 0x41
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 0x40
call fcn.0040ba60
test al, al
je 0x41da7b
lea ecx, [esp + 0x30]
call fcn.004f5d00
cmp ax, 0x74
jne 0x41da7b
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 0x41da98
call fcn.0051414b
mov edi, dword [esp + 0x48]
xor esi, esi
cmp edi, esi
je 0x41dab8
mov al, byte [edi - 1]
test al, al
je 0x41dab8
cmp al, 0xff
je 0x41dab8
cmp ebx, esi
jne 0x41db03
dec al
mov byte [edi - 1], al
jmp 0x41dadd
cmp ebx, esi
jne 0x41daeb
cmp edi, esi
je 0x41dadd
mov al, byte [edi - 1]
lea ecx, [edi - 1]
test al, al
je 0x41dad4
cmp al, 0xff
je 0x41dad4
dec al
mov byte [ecx], al
jmp 0x41dadd
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
jmp 0x41db36
mov eax, dword [esp + 0x50]
cmp eax, 0x1f
ja 0x41daf8
cmp eax, ebx
jae 0x41db11
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 0x549400
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 0x5493f8
call fcn.004f58e0
mov ecx, dword [0x5540b4]
call fcn.004ff8c0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x5493f0
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 0x5493e8
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 0x41d9bf
push ecx
xor esi, esi
mov ecx, esp
mov dword [esp + 0x14], esp
push esi
call fcn.004f5870
lea eax, [esp + 0x34]
lea edx, [esp + 0x30]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0x44
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 0x40
call fcn.0040ba60
test al, al
je 0x41de24
lea ecx, [esp + 0x30]
call fcn.004f5d00
cmp ax, 0x74
jne 0x41de24
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 0x41dd17
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 0x5493e0
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x40
call fcn.004f91a0
cmp ax, 4
jne 0x41dd17
mov eax, dword [esp + 0x48]
cmp eax, esi
je 0x41dcd3
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41dcca
cmp al, 0xff
je 0x41dcca
dec al
mov byte [ecx], al
jmp 0x41dcd3
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 0x41d67d
mov eax, dword [esp + 0x48]
mov byte [esp + 0xd0], 0x3c
cmp eax, esi
je 0x41dd44
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41dd3b
cmp al, 0xff
je 0x41dd3b
dec al
mov byte [ecx], al
jmp 0x41dd44
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 0x5493d8
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 ecx
lea edx, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x34]
lea edx, [esp + 0x30]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0x48
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 0x3c
call fcn.0040ba60
test al, al
jne 0x41de6c
inc bl
cmp bl, 5
jb 0x41ddd9
jmp 0x41de71
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 0x41dcae
cmp bl, 5
jb 0x41deec
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 0x5493c8
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 0x41d67d
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 0x5493c0
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 0x5493b8
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 0x5493b0
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 ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push esi
call fcn.004f5870
lea ecx, [esp + 0x34]
lea edx, [esp + 0x30]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0x4d
call fcn.004f5850
mov byte [esp + 0xdc], 0x3c
mov ecx, ebp
call fcn.0040ba60
push 7
push 0x5493a8
lea ecx, [esp + 0x34]
call fcn.004f5de0
lea eax, [esp + 0x2c]
mov ecx, ebp
push eax
call fcn.004d3100
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push esi
call fcn.004f5870
lea ecx, [esp + 0x34]
lea edx, [esp + 0x30]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0x4e
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 0x3c
call fcn.0040ba60
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 0x5493a0
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x3c
call fcn.004f91a0
cmp ax, 4
jne 0x41e0e1
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 0x41d67d
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 0x41e16a
call fcn.0051414b
mov edx, dword [esp + 0x84]
xor edi, edi
cmp edx, edi
je 0x41e161
mov al, byte [edx - 1]
test al, al
je 0x41e161
cmp al, 0xff
je 0x41e161
cmp ebx, edi
jne 0x41e1e3
dec al
mov byte [edx - 1], al
jmp 0x41e18f
mov esi, dword [esp + 0x8c]
jmp 0x41e16c
xor edi, edi
cmp ebx, edi
jne 0x41e1a6
cmp edx, edi
je 0x41e18f
mov al, byte [edx - 1]
dec edx
test al, al
je 0x41e186
cmp al, 0xff
je 0x41e186
dec al
mov byte [edx], al
jmp 0x41e18f
push edx
call fcn.00514140
add esp, 4
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
jmp 0x41e220
cmp esi, 0x1f
ja 0x41e1af
cmp esi, ebx
jae 0x41e1f7
cmp edx, edi
je 0x41e1ce
mov al, byte [edx - 1]
dec edx
test al, al
je 0x41e1c5
cmp al, 0xff
je 0x41e1c5
dec al
mov byte [edx], al
jmp 0x41e1ce
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
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 + 0x14], esp
push 0
call fcn.004f5870
lea ecx, [esp + 0x34]
lea edx, [esp + 0x30]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0x51
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 0x50
call fcn.0040ba60
test al, al
je 0x41e30d
lea ecx, [esp + 0x30]
call fcn.004f5d00
cmp ax, 9
jne 0x41e30d
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 0x549398
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 0x5493f8
call fcn.004f58e0
mov ecx, dword [0x5540b4]
call fcn.004ff8c0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x549390
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 0x549388
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 0x41e24c
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 0x41d67d
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 0x549380
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x24
call fcn.004f91a0
xor bl, bl
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0
call fcn.004f5870
lea eax, [esp + 0x2c]
lea edx, [esp + 0x38]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0x26
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 0x24
call fcn.0040ba60
test al, al
je 0x41e548
lea ecx, [esp + 0x28]
call fcn.004f5d00
cmp ax, 6
jl 0x41e548
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 0x41e52c
push 4
lea ecx, [esp + 0x2c]
call fcn.004f5b60
and eax, 0xff
jmp 0x41e544
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 0x41e555
inc bl
cmp bl, 5
jb 0x41e49e
jmp 0x41e55a
cmp bl, 5
jb 0x41e5a8
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 0x549378
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x24
call fcn.004f91a0
cmp ax, 4
je 0x41edfb
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 0x549410
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 ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0
call fcn.004f5870
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x38]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0x29
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 0x24
call fcn.0040ba60
test al, al
je 0x41e67f
lea ecx, [esp + 0x28]
call fcn.004f5d00
cmp ax, 0x74
jne 0x41e67f
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, 0x3c
jg 0x41e688
inc bl
cmp bl, 5
jb 0x41e60a
jmp 0x41e691
cmp bl, 5
jb 0x41eaf9
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 0x549370
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x24
call fcn.004f91a0
cmp ax, 4
je 0x41edfb
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 0x41e73e
call fcn.0051414b
mov edx, dword [esp + 0x58]
test edx, edx
je 0x41e73a
mov al, byte [edx - 1]
test al, al
je 0x41e73a
cmp al, 0xff
je 0x41e73a
test ebx, ebx
jne 0x41e763
dec al
push ebx
lea ecx, [esp + 0x58]
mov byte [edx - 1], al
call fcn.004013e0
jmp 0x41e794
mov esi, dword [esp + 0x60]
test ebx, ebx
jne 0x41e74f
push 1
lea ecx, [esp + 0x58]
call fcn.004013e0
jmp 0x41e794
cmp esi, 0x1f
ja 0x41e758
cmp esi, ebx
jae 0x41e771
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
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 + 0x14], esp
push 0
call fcn.004f5870
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x38]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0x2c
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 0x2b
call fcn.0040ba60
test al, al
je 0x41e87c
lea ecx, [esp + 0x28]
call fcn.004f5d00
cmp ax, 0x74
jne 0x41e87c
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 0x41e899
call fcn.0051414b
mov edi, dword [esp + 0x58]
xor esi, esi
cmp edi, esi
je 0x41e8c5
mov al, byte [edi - 1]
test al, al
je 0x41e8c5
cmp al, 0xff
je 0x41e8c5
cmp ebx, esi
jne 0x41e8ee
dec al
mov byte [edi - 1], al
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
jmp 0x41e921
cmp ebx, esi
jne 0x41e8d6
push 1
lea ecx, [esp + 0x58]
call fcn.004013e0
jmp 0x41e921
mov eax, dword [esp + 0x60]
cmp eax, 0x1f
ja 0x41e8e3
cmp eax, ebx
jae 0x41e8fc
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 0x549400
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 0x5493f8
call fcn.004f58e0
mov ecx, dword [0x5540b4]
call fcn.004ff8c0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x5493f0
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 0x5493e8
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 0x41e7c0
push ecx
xor esi, esi
mov ecx, esp
mov dword [esp + 0x14], esp
push esi
call fcn.004f5870
lea eax, [esp + 0x2c]
lea edx, [esp + 0x38]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0x2f
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 0x2b
call fcn.0040ba60
test al, al
je 0x41ebd1
lea ecx, [esp + 0x28]
call fcn.004f5d00
cmp ax, 0x74
jne 0x41ebd1
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 0x41eac0
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 0x549368
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0x2b
call fcn.004f91a0
cmp ax, 4
jne 0x41eac0
mov eax, dword [esp + 0x58]
cmp eax, esi
je 0x41ec39
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41ec30
cmp al, 0xff
je 0x41ec30
dec al
mov byte [ecx], al
jmp 0x41ec39
mov eax, dword [esp + 0x58]
mov byte [esp + 0xd0], 0x24
cmp eax, esi
je 0x41eaed
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41eae4
cmp al, 0xff
je 0x41eae4
dec al
mov byte [ecx], al
jmp 0x41eaed
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 0x549360
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 ecx
lea edx, [esp + 0x6c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x2c]
lea edx, [esp + 0x38]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0x33
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 0x24
call fcn.0040ba60
test al, al
jne 0x41ec4a
inc bl
cmp bl, 5
jb 0x41eb82
jmp 0x41ec4f
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 0x41ec39
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41ec30
cmp al, 0xff
je 0x41ec30
dec al
mov byte [ecx], al
jmp 0x41ec39
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
jmp 0x41edfb
cmp bl, 5
jb 0x41ec81
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 0x549358
jmp 0x41ede4
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 0x549350
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 0x549348
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 ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0
call fcn.004f5870
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x38]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0x37
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 0x24
call fcn.0040ba60
push 7
push 0x549340
lea ecx, [esp + 0x3c]
call fcn.004f5de0
lea eax, [esp + 0x34]
mov ecx, ebp
push eax
call fcn.004d3100
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0
call fcn.004f5870
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd4], 0x38
push ecx
push ecx
lea edx, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 0x24
call fcn.0040ba60
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 0x549338
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 0x41d67d
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 ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0
call fcn.004f5870
lea eax, [esp + 0x1c]
lea edx, [esp + 0x24]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 5
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 3
call fcn.0040ba60
test al, al
je 0x41efb3
lea ecx, [esp + 0x18]
call fcn.004f5d00
cmp ax, 0xa
jl 0x41efb3
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 0x41ef4c
push 4
lea ecx, [esp + 0x1c]
call fcn.004f5b60
jmp 0x41ef64
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 0x41efb3
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 0x41efc6
mov cl, byte [esp + 0x7c]
mov al, byte [esp + 0x3f]
inc cl
cmp cl, al
mov byte [esp + 0x7c], cl
jb 0x41ef72
mov al, byte [esp + 0x1f]
inc al
cmp al, 5
mov byte [esp + 0x1f], al
jae 0x41efd7
jmp 0x41eebb
mov al, byte [esp + 0x1f]
mov byte [esp + 0x27], 1
cmp al, 5
jb 0x41f059
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 0x549330
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
cmp ax, 4
jne 0x41f092
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 0x41d67d
cmp byte [esp + 0x3f], 1
je 0x41f092
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 0x549328
jmp 0x41f004
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 0x549320
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
cmp ax, 4
je 0x41f021
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 0x549410
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 ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0
call fcn.004f5870
lea edx, [esp + 0x1c]
lea eax, [esp + 0x24]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
mov byte [esp + 0xe0], 0xa
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 3
call fcn.0040ba60
test al, al
je 0x41f1b7
lea ecx, [esp + 0x18]
call fcn.004f5d00
cmp ax, 0x74
jne 0x41f1b7
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 0x41f1c0
inc bl
cmp bl, 5
jb 0x41f142
jmp 0x41f1c9
cmp bl, 5
jb 0x41f62f
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], 0xb
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x549318
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
cmp ax, 4
je 0x41f021
mov cl, byte [esp + 0x27]
mov edi, 0x554048
mov byte [esp + 0x6c], cl
or ecx, 0xffffffff
xor eax, eax
xor esi, esi
xor edx, edx
mov dword [esp + 0x74], esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x70], edx
mov ebx, ecx
mov dword [esp + 0x78], esi
cmp ebx, 0xfffffffd
jbe 0x41f276
call fcn.0051414b
mov edx, dword [esp + 0x70]
test edx, edx
je 0x41f272
mov al, byte [edx - 1]
test al, al
je 0x41f272
cmp al, 0xff
je 0x41f272
test ebx, ebx
jne 0x41f29b
dec al
push ebx
lea ecx, [esp + 0x70]
mov byte [edx - 1], al
call fcn.004013e0
jmp 0x41f2cc
mov esi, dword [esp + 0x78]
test ebx, ebx
jne 0x41f287
push 1
lea ecx, [esp + 0x70]
call fcn.004013e0
jmp 0x41f2cc
cmp esi, 0x1f
ja 0x41f290
cmp esi, ebx
jae 0x41f2a9
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 [ebx + eax], 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, 0x548aa8
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x90]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
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 + 0x14], esp
push 0
call fcn.004f5870
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x24]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0xd
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 0xc
call fcn.0040ba60
test al, al
je 0x41f3b4
lea ecx, [esp + 0x18]
call fcn.004f5d00
cmp ax, 0x74
jne 0x41f3b4
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 0x41f3d1
call fcn.0051414b
mov edi, dword [esp + 0x70]
test edi, edi
je 0x41f3f9
mov al, byte [edi - 1]
test al, al
je 0x41f3f9
cmp al, 0xff
je 0x41f3f9
test ebx, ebx
jne 0x41f422
dec al
push ebx
lea ecx, [esp + 0x70]
mov byte [edi - 1], al
call fcn.004013e0
jmp 0x41f453
test ebx, ebx
jne 0x41f40a
push 1
lea ecx, [esp + 0x70]
call fcn.004013e0
jmp 0x41f453
mov eax, dword [esp + 0x78]
cmp eax, 0x1f
ja 0x41f417
cmp eax, ebx
jae 0x41f430
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
mov byte [ebx + eax], 0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x549400
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 0x5493f8
call fcn.004f58e0
mov ecx, dword [0x5540b4]
call fcn.004ff8c0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 6
push 0x5493f0
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 0x5493e8
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
jne 0x41f2f8
push ecx
xor esi, esi
mov ecx, esp
mov dword [esp + 0x14], esp
push esi
call fcn.004f5870
lea eax, [esp + 0x1c]
lea edx, [esp + 0x24]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0x10
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 0xc
call fcn.0040ba60
test al, al
je 0x41f707
lea ecx, [esp + 0x18]
call fcn.004f5d00
cmp ax, 0x74
jne 0x41f707
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 0x41f5f6
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 0x549310
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 0xc
call fcn.004f91a0
cmp ax, 4
jne 0x41f5f6
mov eax, dword [esp + 0x70]
cmp eax, esi
je 0x41f76f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41f766
cmp al, 0xff
je 0x41f766
dec al
mov byte [ecx], al
jmp 0x41f76f
mov eax, dword [esp + 0x70]
mov byte [esp + 0xd0], 3
cmp eax, esi
je 0x41f623
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41f61a
cmp al, 0xff
je 0x41f61a
dec al
mov byte [ecx], al
jmp 0x41f623
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 0x549308
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 ecx
lea edx, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x1c]
lea edx, [esp + 0x24]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0x14
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 3
call fcn.0040ba60
test al, al
jne 0x41f780
inc bl
cmp bl, 5
jb 0x41f6b8
jmp 0x41f785
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 0x41f76f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41f766
cmp al, 0xff
je 0x41f766
dec al
mov byte [ecx], al
jmp 0x41f76f
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
jmp 0x41f021
cmp bl, 5
jb 0x41f7ce
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 0x549300
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0xe0], 3
call fcn.004f91a0
jmp 0x41f021
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 0x5492f8
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 0x5492f0
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 ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0
call fcn.004f5870
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x24]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0x18
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 3
call fcn.0040ba60
push 7
push 0x5492e8
lea ecx, [esp + 0x28]
call fcn.004f5de0
lea eax, [esp + 0x20]
mov ecx, ebp
push eax
call fcn.004d3100
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0
call fcn.004f5870
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd4], 0x19
push ecx
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 3
call fcn.0040ba60
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 0x5492e0
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 0x41f021
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 ecx
lea edx, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x1c]
lea edx, [esp + 0x24]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0x1c
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 3
call fcn.0040ba60
test al, al
jne 0x41fa28
inc bl
cmp bl, 5
jb 0x41f9df
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 0x5492d8
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 ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0
call fcn.004f5870
lea eax, [esp + 0x1c]
lea edx, [esp + 0x24]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0xe0], 0x1f
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0xdc], 3
call fcn.0040ba60
test al, al
je 0x41fbc0
lea ecx, [esp + 0x18]
call fcn.004f5d00
cmp ax, 6
jl 0x41fbc0
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 0x41fb60
push 4
lea ecx, [esp + 0x1c]
call fcn.004f5b60
and eax, 0xff
jmp 0x41fb78
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 0x41fbc0
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 0x41fbdb
inc byte [esp + 0x7c]
jmp 0x41fb20
mov al, byte [esp + 0x27]
test al, al
jne 0x41fbdb
mov al, byte [esp + 0x1f]
inc al
cmp al, 5
mov byte [esp + 0x1f], al
jae 0x41fbe2
jmp 0x41fac5
cmp byte [esp + 0x1f], 5
jb 0x41fc14
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 0x5492d0
jmp 0x41f7b2
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 0x5492c8
jmp 0x41f7b2
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