Function at 0x42e110
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x4e58db
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x120
push ebx
push ebp
push esi
mov esi, ecx
lea eax, [esp + 0x13c]
lea ecx, [esp + 0x18]
push eax
mov dword [esp + 0x138], 0
call fcn.004d8295
push str._SrcDir_
lea ecx, [esp + 0x140]
mov byte [esp + 0x138], 1
call fcn.004d2b67
mov ebp, eax
cmp ebp, 0xffffffff
jle 0x42e310
mov ecx, dword [0x52a0ac]
mov dword [esp + 0xc], ecx
lea edx, [esp + 0x14]
push ebp
push edx
lea ecx, [esp + 0x144]
mov byte [esp + 0x13c], 2
call fcn.004d2acd
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x138], 3
call fcn.004d8659
lea ecx, [esp + 0x14]
mov byte [esp + 0x134], 2
call fcn.004d8520
mov eax, dword [0x52a0ac]
mov dword [esp + 0x10], eax
lea ecx, [ebp + 8]
lea edx, [esp + 0x14]
mov bl, 4
push ecx
push edx
lea ecx, [esp + 0x144]
mov byte [esp + 0x13c], bl
call fcn.004d2998
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x138], 5
call fcn.004d8659
lea ecx, [esp + 0x14]
mov byte [esp + 0x134], bl
call fcn.004d8520
mov eax, dword [esp + 0x10]
cmp byte [eax], 0x5c
jne 0x42e267
lea ecx, [esi + 0x24]
lea edx, [esp + 0xc]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
call fcn.004d874f
lea ecx, [esp + 0x10]
lea edx, [esp + 0x14]
push ecx
push eax
push edx
mov byte [esp + 0x140], 6
call fcn.004d874f
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x138], 7
call fcn.004d8659
lea ecx, [esp + 0x14]
mov byte [esp + 0x134], 6
call fcn.004d8520
mov byte [esp + 0x134], bl
lea ecx, [esp + 0x24]
jmp 0x42e2e9
lea eax, [esi + 0x24]
lea ecx, [esp + 0xc]
push eax
lea edx, [esp + 0x20]
push ecx
push edx
call fcn.004d874f
push 0x50f7a0
push eax
lea eax, [esp + 0x1c]
mov byte [esp + 0x13c], 8
push eax
call fcn.004d87b5
lea ecx, [esp + 0x10]
lea edx, [esp + 0x24]
push ecx
push eax
push edx
mov byte [esp + 0x140], 9
call fcn.004d874f
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x138], 0xa
call fcn.004d8659
lea ecx, [esp + 0x24]
mov byte [esp + 0x134], 9
call fcn.004d8520
lea ecx, [esp + 0x14]
mov byte [esp + 0x134], 8
call fcn.004d8520
mov byte [esp + 0x134], bl
lea ecx, [esp + 0x1c]
call fcn.004d8520
lea ecx, [esp + 0x10]
mov byte [esp + 0x134], 2
call fcn.004d8520
lea ecx, [esp + 0xc]
mov byte [esp + 0x134], 1
call fcn.004d8520
push edi
push str._SrcDrive_
lea ecx, [esp + 0x20]
call fcn.004d2b67
mov edi, eax
cmp edi, 0xffffffff
jle 0x42e4c4
mov eax, dword [0x52a0ac]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x20]
push edi
push ecx
lea ecx, [esp + 0x24]
mov byte [esp + 0x140], 0xb
call fcn.004d2acd
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x13c], 0xc
call fcn.004d8659
lea ecx, [esp + 0x20]
mov byte [esp + 0x138], 0xb
call fcn.004d8520
mov edx, dword [0x52a0ac]
mov dword [esp + 0x14], edx
add edi, 0xb
lea eax, [esp + 0x20]
mov bl, 0xd
push edi
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x140], bl
call fcn.004d2998
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x13c], 0xe
call fcn.004d8659
lea ecx, [esp + 0x20]
mov byte [esp + 0x138], bl
call fcn.004d8520
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x5c
jne 0x42e41b
add esi, 0x28
lea edx, [esp + 0x10]
push esi
lea eax, [esp + 0x2c]
push edx
push eax
call fcn.004d874f
lea ecx, [esp + 0x14]
lea edx, [esp + 0x20]
push ecx
push eax
push edx
mov byte [esp + 0x144], 0xf
call fcn.004d874f
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x13c], 0x10
call fcn.004d8659
lea ecx, [esp + 0x20]
mov byte [esp + 0x138], 0xf
call fcn.004d8520
mov byte [esp + 0x138], bl
lea ecx, [esp + 0x28]
jmp 0x42e49d
add esi, 0x28
lea eax, [esp + 0x10]
push esi
lea ecx, [esp + 0x1c]
push eax
push ecx
call fcn.004d874f
push 0x50f7a0
lea edx, [esp + 0x2c]
push eax
push edx
mov byte [esp + 0x144], 0x11
call fcn.004d87b5
lea ecx, [esp + 0x14]
lea edx, [esp + 0x20]
push ecx
push eax
push edx
mov byte [esp + 0x144], 0x12
call fcn.004d874f
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x13c], 0x13
call fcn.004d8659
lea ecx, [esp + 0x20]
mov byte [esp + 0x138], 0x12
call fcn.004d8520
lea ecx, [esp + 0x28]
mov byte [esp + 0x138], 0x11
call fcn.004d8520
mov byte [esp + 0x138], bl
lea ecx, [esp + 0x18]
call fcn.004d8520
lea ecx, [esp + 0x14]
mov byte [esp + 0x138], 0xb
call fcn.004d8520
lea ecx, [esp + 0x10]
mov byte [esp + 0x138], 1
call fcn.004d8520
push str._CD_
lea ecx, [esp + 0x20]
call fcn.004d2b67
mov esi, eax
cmp esi, 0xffffffff
jle 0x42e6a1
call fcn.004de6df
mov eax, dword [eax + 4]
lea ecx, [esp + 0x18]
add eax, 0xc8
push eax
call fcn.004d8295
mov eax, dword [0x52a0ac]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x20]
push esi
push ecx
lea ecx, [esp + 0x24]
mov byte [esp + 0x140], 0x15
call fcn.004d2acd
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x13c], 0x16
call fcn.004d8659
lea ecx, [esp + 0x20]
mov byte [esp + 0x138], 0x15
call fcn.004d8520
mov edx, dword [0x52a0ac]
mov dword [esp + 0x14], edx
add esi, 4
lea eax, [esp + 0x20]
mov bl, 0x17
push esi
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x140], bl
call fcn.004d2998
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x13c], 0x18
call fcn.004d8659
lea ecx, [esp + 0x20]
mov byte [esp + 0x138], bl
call fcn.004d8520
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x5c
jne 0x42e5e6
lea edx, [esp + 0x18]
lea eax, [esp + 0x10]
push edx
lea ecx, [esp + 0x2c]
push eax
push ecx
call fcn.004d874f
lea edx, [esp + 0x14]
mov byte [esp + 0x138], 0x19
push edx
push eax
lea eax, [esp + 0x28]
push eax
call fcn.004d874f
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x13c], 0x1a
call fcn.004d8659
lea ecx, [esp + 0x20]
mov byte [esp + 0x138], 0x19
call fcn.004d8520
mov byte [esp + 0x138], bl
lea ecx, [esp + 0x28]
jmp 0x42e669
lea ecx, [esp + 0x18]
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
call fcn.004d874f
push 0x50f7a0
lea ecx, [esp + 0x2c]
push eax
push ecx
mov byte [esp + 0x144], 0x1b
call fcn.004d87b5
lea edx, [esp + 0x14]
mov byte [esp + 0x138], 0x1c
push edx
push eax
lea eax, [esp + 0x28]
push eax
call fcn.004d874f
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x13c], 0x1d
call fcn.004d8659
lea ecx, [esp + 0x20]
mov byte [esp + 0x138], 0x1c
call fcn.004d8520
lea ecx, [esp + 0x28]
mov byte [esp + 0x138], 0x1b
call fcn.004d8520
mov byte [esp + 0x138], bl
lea ecx, [esp + 0x24]
call fcn.004d8520
lea ecx, [esp + 0x14]
mov byte [esp + 0x138], 0x15
call fcn.004d8520
lea ecx, [esp + 0x10]
mov byte [esp + 0x138], 0x14
call fcn.004d8520
lea ecx, [esp + 0x18]
mov byte [esp + 0x138], 1
call fcn.004d8520
push str._This_
lea ecx, [esp + 0x20]
call fcn.004d2b67
mov esi, eax
cmp esi, 0xffffffff
jle 0x42e805
mov ecx, dword [0x52a0ac]
mov dword [esp + 0x14], ecx
lea edx, [esp + 0x24]
push esi
push edx
lea ecx, [esp + 0x24]
mov byte [esp + 0x140], 0x1e
call fcn.004d2acd
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x13c], 0x1f
call fcn.004d8659
lea ecx, [esp + 0x24]
mov byte [esp + 0x138], 0x1e
call fcn.004d8520
mov eax, dword [0x52a0ac]
mov dword [esp + 0x10], eax
add esi, 6
lea ecx, [esp + 0x24]
push esi
mov bl, 0x20
push ecx
lea ecx, [esp + 0x24]
mov byte [esp + 0x140], bl
call fcn.004d2998
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x13c], 0x21
call fcn.004d8659
lea ecx, [esp + 0x24]
mov byte [esp + 0x138], bl
call fcn.004d8520
mov edx, dword [0x52a0ac]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x144]
lea edx, [esp + 0x18]
mov byte [esp + 0x138], 0x22
mov ecx, dword [eax + 0x1c]
push ecx
push 0x50f6a4
push edx
call fcn.004d2ea8
add esp, 0xc
lea eax, [esp + 0x18]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x20]
push eax
push ecx
push edx
call fcn.004d874f
lea ecx, [esp + 0x10]
lea edx, [esp + 0x24]
push ecx
push eax
push edx
mov byte [esp + 0x144], 0x23
call fcn.004d874f
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x13c], 0x24
call fcn.004d8659
lea ecx, [esp + 0x24]
mov byte [esp + 0x138], 0x23
call fcn.004d8520
lea ecx, [esp + 0x20]
mov byte [esp + 0x138], 0x22
call fcn.004d8520
lea ecx, [esp + 0x18]
mov byte [esp + 0x138], bl
call fcn.004d8520
lea ecx, [esp + 0x10]
mov byte [esp + 0x138], 0x1e
call fcn.004d8520
mov byte [esp + 0x138], 1
lea ecx, [esp + 0x14]
call fcn.004d8520
push str._File_
lea ecx, [esp + 0x20]
call fcn.004d2b67
mov esi, eax
cmp esi, 0xffffffff
jle 0x42e951
mov eax, dword [0x52a0ac]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x24]
push esi
push ecx
lea ecx, [esp + 0x24]
mov byte [esp + 0x140], 0x25
call fcn.004d2acd
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x13c], 0x26
call fcn.004d8659
lea ecx, [esp + 0x24]
mov byte [esp + 0x138], 0x25
call fcn.004d8520
call fcn.004de6df
mov eax, dword [eax + 4]
lea ecx, [esp + 0x14]
add eax, 0xcc
push eax
call fcn.004d8295
mov edx, dword [0x52a0ac]
mov dword [esp + 0x18], edx
add esi, 6
lea eax, [esp + 0x24]
mov bl, 0x28
push esi
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x140], bl
call fcn.004d2998
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x13c], 0x29
call fcn.004d8659
lea ecx, [esp + 0x24]
mov byte [esp + 0x138], bl
call fcn.004d8520
lea ecx, [esp + 0x14]
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x24]
push edx
push eax
call fcn.004d874f
lea ecx, [esp + 0x18]
lea edx, [esp + 0x24]
push ecx
push eax
push edx
mov byte [esp + 0x144], 0x2a
call fcn.004d874f
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x13c], 0x2b
call fcn.004d8659
lea ecx, [esp + 0x24]
mov byte [esp + 0x138], 0x2a
call fcn.004d8520
lea ecx, [esp + 0x20]
mov byte [esp + 0x138], bl
call fcn.004d8520
lea ecx, [esp + 0x18]
mov byte [esp + 0x138], 0x27
call fcn.004d8520
lea ecx, [esp + 0x14]
mov byte [esp + 0x138], 0x25
call fcn.004d8520
lea ecx, [esp + 0x10]
mov byte [esp + 0x138], 1
call fcn.004d8520
push str._Embedded_
lea ecx, [esp + 0x20]
call fcn.004d2b67
cmp eax, 0xffffffff
jle 0x42eb29
mov ecx, dword [0x52a0ac]
mov dword [esp + 0x10], ecx
lea edx, [esp + 0x24]
push eax
push edx
lea ecx, [esp + 0x24]
mov byte [esp + 0x140], 0x2c
call fcn.004d2acd
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x13c], 0x2d
call fcn.004d8659
lea ecx, [esp + 0x24]
mov byte [esp + 0x138], 0x2c
call fcn.004d8520
mov eax, dword [0x52a0ac]
mov dword [esp + 0x14], eax
add ebp, 0xb
lea ecx, [esp + 0x24]
push ebp
push ecx
lea ecx, [esp + 0x24]
mov byte [esp + 0x140], 0x2e
call fcn.004d2998
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x13c], 0x2f
call fcn.004d8659
lea ecx, [esp + 0x24]
mov byte [esp + 0x138], 0x2e
call fcn.004d8520
call fcn.004de6df
mov eax, dword [eax + 4]
lea ecx, [esp + 0x18]
add eax, 0xd0
push eax
call fcn.004d8295
mov edx, dword [esp + 0x14]
mov bl, 0x30
lea ecx, [esp + 0x10]
mov byte [esp + 0x138], bl
mov al, byte [edx]
cmp al, 0x5c
lea eax, [esp + 0x18]
push eax
push ecx
jne 0x42ea78
lea edx, [esp + 0x28]
push edx
call fcn.004d874f
lea ecx, [esp + 0x14]
lea edx, [esp + 0x24]
push ecx
push eax
push edx
mov byte [esp + 0x144], 0x31
call fcn.004d874f
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x13c], 0x32
call fcn.004d8659
lea ecx, [esp + 0x24]
mov byte [esp + 0x138], 0x31
call fcn.004d8520
mov byte [esp + 0x138], bl
lea ecx, [esp + 0x20]
jmp 0x42eaf1
lea edx, [esp + 0x30]
push edx
call fcn.004d874f
push 0x50f7a0
push eax
lea eax, [esp + 0x28]
mov byte [esp + 0x140], 0x33
push eax
call fcn.004d87b5
lea ecx, [esp + 0x14]
lea edx, [esp + 0x24]
push ecx
push eax
push edx
mov byte [esp + 0x144], 0x34
call fcn.004d874f
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x13c], 0x35
call fcn.004d8659
lea ecx, [esp + 0x24]
mov byte [esp + 0x138], 0x34
call fcn.004d8520
lea ecx, [esp + 0x20]
mov byte [esp + 0x138], 0x33
call fcn.004d8520
mov byte [esp + 0x138], bl
lea ecx, [esp + 0x28]
call fcn.004d8520
lea ecx, [esp + 0x18]
mov byte [esp + 0x138], 0x2e
call fcn.004d8520
lea ecx, [esp + 0x14]
mov byte [esp + 0x138], 0x2c
call fcn.004d8520
lea ecx, [esp + 0x10]
mov byte [esp + 0x138], 1
call fcn.004d8520
mov ecx, dword [esp + 0x1c]
push 0
lea eax, [esp + 0x34]
push 0xff
push eax
push ecx
call dword [sym.imp.WINMM.dll_mciSendStringA]
lea edx, [esp + 0x30]
lea ecx, [esp + 0x2c]
push edx
call fcn.004d858e
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x138], 0x36
push eax
call fcn.004c0ca3
mov edi, dword [esp + 0x30]
mov ebp, eax
add esp, 4
mov esi, str.playing
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42eb98
test cl, cl
je 0x42eb94
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42eb98
add eax, 2
add esi, 2
test cl, cl
jne 0x42eb70
xor eax, eax
jmp 0x42eb9d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42eba6
mov ebp, 0xfffffffe
mov eax, edi
mov esi, str.stopped
pop edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x42ebd6
test cl, cl
je 0x42ebd2
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x42ebd6
add eax, 2
add esi, 2
test cl, cl
jne 0x42ebae
xor eax, eax
jmp 0x42ebdb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42ebe2
or ebp, 0xffffffff
push 0x510558
lea ecx, [esp + 0x2c]
call fcn.004d2b67
mov esi, eax
test esi, esi
jle 0x42eca4
lea eax, [esp + 0xc]
push esi
push eax
lea ecx, [esp + 0x30]
call fcn.004d2acd
inc esi
lea ecx, [esp + 0x14]
push esi
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x13c], 0x37
call fcn.004d2998
mov edx, dword [esp + 0xc]
mov bl, 0x38
push edx
mov byte [esp + 0x138], bl
call fcn.004c0ca3
lea eax, [eax + eax*2]
add esp, 4
lea ecx, [esp + 0x14]
lea esi, [eax + eax*4]
lea eax, [esp + 0x20]
push 2
push eax
shl esi, 2
call fcn.004d2acd
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x138], 0x39
call fcn.004d8659
lea ecx, [esp + 0x20]
mov byte [esp + 0x134], bl
call fcn.004d8520
mov ecx, dword [esp + 0xc]
push ecx
call fcn.004c0ca3
add esp, 4
lea ecx, [esp + 0x14]
lea ebp, [eax + esi]
mov byte [esp + 0x134], 0x37
call fcn.004d8520
lea ecx, [esp + 0xc]
mov byte [esp + 0x134], 0x36
call fcn.004d8520
lea ecx, [esp + 0x28]
mov byte [esp + 0x134], 1
call fcn.004d8520
lea ecx, [esp + 0x18]
mov byte [esp + 0x134], 0
call fcn.004d8520
lea ecx, [esp + 0x13c]
mov dword [esp + 0x134], 0xffffffff
call fcn.004d8520
mov ecx, dword [esp + 0x12c]
mov eax, ebp
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x12c
ret 8