Function at 0x403800
Capabilities:
Contain obfuscated stackstrings
Delete directory
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x419347
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x4251dc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0x38], ebx
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x7c], ebx
call fcn.004010a0
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x7c]
push eax
mov ecx, edi
mov byte [ebp - 4], 1
call fcn.00405a50
push dword [ebp - 0xb4]
lea eax, [ebp - 0x1c]
push eax
mov ecx, edi
call fcn.00404d60
sub esp, 8
lea eax, [ebp - 0x1c]
mov ecx, esp
push eax
mov byte [ebp - 4], 2
call fcn.00401000
lea ecx, [edi + 0x2bc]
call fcn.00401840
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.004010d0
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x6c], ebx
call fcn.004010a0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 3
mov dword [ebp - 0x5c], ebx
call fcn.004010a0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 4
mov dword [ebp - 0x94], ebx
call fcn.004010a0
sub esp, 8
mov esi, esp
sub esp, 8
mov ecx, esp
push str.embeddedInstaller
mov byte [ebp - 4], 5
call fcn.00401070
push esi
mov ecx, edi
call fcn.00405230
lea ecx, [ebp - 0x5c]
call fcn.00401840
sub esp, 8
mov esi, esp
sub esp, 8
mov ecx, esp
push str.enterpriseInstaller
call fcn.00401070
push esi
mov ecx, edi
call fcn.00405230
lea ecx, [ebp - 0x94]
call fcn.00401840
lea esi, [edi + 0x228]
push esi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x4c], ebx
call fcn.00401000
mov byte [ebp - 4], 6
sub esp, 8
mov ecx, esp
push str.FlashHelperService.exe
call fcn.00401070
push 0x5c
lea ecx, [ebp - 0x4c]
call fcn.004014e0
push esi
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], ebx
call fcn.00401000
sub esp, 8
mov ecx, esp
push str.HSUninstall.exe
mov byte [ebp - 4], 7
call fcn.00401070
push 0x5c
lea ecx, [ebp - 0x74]
call fcn.004014e0
push 0x18
call fcn.0040eddc
mov esi, eax
add esp, 4
mov dword [ebp - 0xa4], esi
mov byte [ebp - 4], 8
test esi, esi
je 0x4039e7
sub esp, 8
mov ecx, esp
mov dword [ebp - 0xa8], esp
push str.Flash_Helper_Service
call fcn.00401070
sub esp, 8
mov ecx, esp
mov dword [ebp - 0xac], esp
push str.Flash_Helper_Service
mov byte [ebp - 4], 9
call fcn.00401070
sub esp, 8
lea eax, [ebp - 0x4c]
mov ecx, esp
push eax
mov byte [ebp - 4], 0xa
call fcn.00401000
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00402d40
mov esi, eax
mov dword [ebp - 0xa4], eax
jmp 0x4039ef
xor esi, esi
mov dword [ebp - 0xa4], esi
push str.0.0.0.0
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 7
mov dword [ebp - 0x8c], 0
call fcn.00401070
sub esp, 8
lea eax, [ebp + 8]
mov ecx, esp
push eax
mov byte [ebp - 4], 0xb
mov byte [ebp - 0xa8], 0
call fcn.00401000
mov ecx, edi
call fcn.00406e70
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x64], 0
call fcn.004010a0
lea ecx, [edi + 0x160]
mov byte [ebp - 4], 0xc
call fcn.00402190
test eax, eax
jg 0x403a8f
mov al, byte [edi + 0x2ea]
test al, al
jne 0x403a8f
push 0x41bd60
lea ecx, [ebp - 0x1c]
call fcn.00401070
mov ebx, 1
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0xd
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0x38], ebx
call fcn.004016b0
mov byte [ebp - 0x95], 0
test al, al
jne 0x403a96
mov byte [ebp - 0x95], 1
mov dword [ebp - 4], 0xc
test bl, 1
je 0x403ab3
and ebx, 0xfffffffe
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0xb0], ebx
call fcn.004010d0
cmp byte [ebp - 0x95], 0
lea ecx, [ebp - 0x64]
je 0x403ac6
push 0x41bd64
jmp 0x403acb
push str._iv
call fcn.00401800
sub esp, 8
mov ecx, esp
push 0
push 0xa
push 0x14
call fcn.00401020
lea ecx, [ebp - 0x64]
call fcn.00401450
push 0x41bd60
lea ecx, [ebp - 0x1c]
call fcn.00401070
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0xe
call fcn.004016b0
lea ecx, [ebp - 0x1c]
mov bl, al
mov byte [ebp - 4], 0xc
call fcn.004010d0
test bl, bl
je 0x403bc9
lea ecx, [edi + 0x150]
call fcn.00402190
mov ebx, dword [ebp - 0xa8]
movzx ebx, bl
test eax, eax
mov ecx, 1
cmovg ebx, ecx
lea ecx, [ebp - 0x8c]
push ecx
lea eax, [edi + 0x158]
push eax
mov ecx, edi
call fcn.00404ea0
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00401000
sub esp, 8
lea eax, [ebp - 0x1c]
mov ecx, esp
push eax
mov byte [ebp - 4], 0xf
call fcn.00401000
lea ecx, [edi + 0x2bc]
call fcn.00401840
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xc
call fcn.004010d0
xor eax, eax
test bl, bl
setne al
lea ecx, [edi + 0x148]
add eax, 0x7c
mov dword [ebp - 0xac], eax
call fcn.00402190
test eax, eax
jne 0x403bb1
lea ecx, [edi + 0x150]
call fcn.00402190
test eax, eax
je 0x403bc0
lea ecx, [edi + 0x158]
call fcn.00402190
test eax, eax
jne 0x403bd9
mov dword [ebp - 0x14], 0x712
jmp 0x403bd9
mov ebx, dword [ebp - 0xa8]
mov dword [ebp - 0xac], 0x78
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x84], 0
call fcn.004010a0
lea eax, [ebp - 0x84]
push eax
sub esp, 8
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0xa8], esp
push eax
mov byte [ebp - 4], 0x10
call fcn.00401000
sub esp, 8
lea eax, [ebp - 0x5c]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x11
call fcn.00401000
mov ecx, edi
mov byte [ebp - 4], 0x10
call fcn.00404a90
mov ecx, dword [edi + 0x16c]
call fcn.004097c0
test eax, 0x400
mov eax, dword [ebp - 0x14]
je 0x403f7b
test eax, eax
jne 0x403f7b
test bl, bl
jne 0x403fba
push 0x41bd8c
lea ecx, [ebp - 0x6c]
call fcn.00401800
push str._Uninstall
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
call fcn.00401070
push str._Start
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x44], 0
call fcn.00401070
sub esp, 8
lea eax, [ebp - 0x7c]
mov ecx, esp
mov dword [ebp - 0xa8], esp
push eax
mov byte [ebp - 4], 0x13
call fcn.00401000
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x38], esp
push str._fp
mov byte [ebp - 4], 0x14
call fcn.00401070
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x41ba20
mov byte [ebp - 4], 0x15
call fcn.00401070
sub esp, 8
lea eax, [ebp - 0x84]
mov ecx, esp
mov dword [ebp - 0xa0], esp
push eax
mov byte [ebp - 4], 0x16
call fcn.00401000
sub esp, 8
mov ecx, esp
push str._dp
mov byte [ebp - 4], 0x17
call fcn.00401070
lea ecx, [ebp - 0x44]
call fcn.00401450
mov ecx, eax
mov byte [ebp - 4], 0x16
call fcn.00401450
mov ecx, eax
mov byte [ebp - 4], 0x15
call fcn.00401450
mov ecx, eax
mov byte [ebp - 4], 0x14
call fcn.00401450
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.00401450
push str.0.0.0.0
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], 0
call fcn.00401070
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x54], 0
call fcn.004010a0
sub esp, 8
mov esi, esp
sub esp, 8
mov ecx, esp
push str.newFlashHelperVersion
mov byte [ebp - 4], 0x19
call fcn.00401070
push esi
mov ecx, edi
call fcn.00405230
lea ecx, [ebp - 0x54]
call fcn.00401840
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x4c]
push eax
mov ecx, edi
call fcn.00404ea0
sub esp, 8
lea eax, [ebp - 0x54]
mov ecx, esp
mov dword [ebp - 0x9c], esp
push eax
call fcn.00401000
sub esp, 8
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x1a
call fcn.00401000
mov ecx, edi
mov byte [ebp - 4], 0x19
call fcn.00403270
mov esi, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x14]
test esi, esi
mov edx, 0x70f
cmove ecx, edx
mov dword [ebp - 0x14], ecx
cmp eax, 0xffffffff
je 0x403e48
mov ecx, esi
call fcn.0040bee0
test al, al
jne 0x403ded
cmp dword [ebp - 0x14], 0
je 0x403e48
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
call fcn.0040bf30
test al, al
jne 0x403f2c
lea eax, [ebp - 0x34]
push eax
sub esp, 8
lea eax, [ebp - 0x44]
mov ecx, esp
mov dword [ebp - 0x9c], esp
push eax
call fcn.00401000
sub esp, 8
lea eax, [ebp - 0x4c]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x1e
call fcn.00401000
push 1
mov ecx, edi
mov byte [ebp - 4], 0x19
call fcn.00404830
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1388
call eax
jmp 0x403f2c
sub esp, 8
lea eax, [ebp - 0x4c]
mov ecx, esp
push eax
call fcn.00401000
mov ecx, edi
call fcn.004047c0
test al, al
je 0x403ea4
lea eax, [ebp - 0x34]
push eax
sub esp, 8
lea eax, [ebp - 0x1c]
mov ecx, esp
mov dword [ebp - 0x9c], esp
push eax
call fcn.00401000
sub esp, 8
lea eax, [ebp - 0x4c]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x1b
call fcn.00401000
push 1
mov ecx, edi
mov byte [ebp - 4], 0x19
call fcn.00404830
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3e8
call eax
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x9c], esp
call fcn.004010a0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x14]
push eax
push 1
push 0x400
sub esp, 8
lea eax, [ebp - 0x4c]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x1c
call fcn.00401000
mov byte [ebp - 4], 0x19
mov ecx, dword [edi + 0x16c]
call fcn.0040aa80
cmp dword [ebp - 0x14], 0
jne 0x403f2c
lea eax, [ebp - 0x34]
push eax
sub esp, 8
lea eax, [ebp - 0x44]
mov ecx, esp
mov dword [ebp - 0x9c], esp
push eax
call fcn.00401000
sub esp, 8
lea eax, [ebp - 0x4c]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x1d
call fcn.00401000
push 1
mov ecx, edi
mov byte [ebp - 4], 0x19
call fcn.00404830
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x18
call fcn.004010d0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x13
call fcn.004010d0
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x12
call fcn.004010d0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x10
call fcn.004010d0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x403fba
test bl, bl
jne 0x403fba
mov ecx, esi
call fcn.0040beb0
test al, al
jne 0x403f8b
mov dword [ebp - 0x14], 0x70a
jmp 0x403fba
cmp eax, 0x712
je 0x403f5f
mov dword [ebp - 0x14], 0x700
jmp 0x403fba
mov ecx, esi
call fcn.0040bee0
test al, al
jne 0x403f9f
mov dword [ebp - 0x14], 0x70b
jmp 0x403fba
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
call fcn.0040bf30
mov ecx, dword [ebp - 0x14]
mov edx, 0x70c
test al, al
cmove ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [edi + 0x16c]
call fcn.004097c0
test al, 0x40
je 0x404002
cmp dword [ebp - 0x14], 0
jne 0x404002
push 0x41bd60
lea ecx, [ebp - 0x1c]
call fcn.00401070
mov ebx, dword [ebp - 0xb0]
or ebx, 2
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x38], ebx
call fcn.004016b0
test al, al
jne 0x404008
mov byte [ebp - 0x95], 1
jmp 0x40400f
mov ebx, dword [ebp - 0xb0]
mov byte [ebp - 0x95], 0
mov dword [ebp - 4], 0x10
test bl, 2
je 0x404026
lea ecx, [ebp - 0x1c]
and ebx, 0xfffffffd
call fcn.004010d0
cmp byte [ebp - 0x95], 0
je 0x4041e5
mov al, byte [edi + 0x2ea]
mov ecx, dword [edi + 0x16c]
mov byte [ebp - 0xa4], al
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0xa4]
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x30], 0
call fcn.0040a490
push 0
push 0x41b47c
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x20
call fcn.00401f10
lea ecx, [ebp - 0x1c]
call fcn.004010d0
sub esp, 8
mov ecx, esp
push 0x41b48c
call fcn.00401070
push 0x5c
lea ecx, [ebp - 0x30]
call fcn.004014e0
push 0x41be00
lea ecx, [ebp - 0x6c]
call fcn.00401800
cmp dword [ebp - 0x14], 0
jne 0x4041d4
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x9c], esp
call fcn.004010a0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x14]
push eax
push 1
push 0x40
sub esp, 8
lea eax, [ebp - 0x30]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x21
call fcn.00401000
mov byte [ebp - 4], 0x20
mov ecx, dword [edi + 0x16c]
call fcn.0040aa80
test al, al
je 0x4041d4
lea esi, [edi + 0x160]
mov ecx, esi
call fcn.00402190
test eax, eax
jle 0x404158
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x9c], esp
push esi
call fcn.00401000
push 0x41ba20
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x22
call fcn.00401070
mov byte [ebp - 4], 0x23
mov ecx, eax
mov byte [ebp - 4], 0x24
call fcn.00401450
sub esp, 8
mov ecx, esp
push eax
call fcn.00401000
lea ecx, [ebp - 0x64]
call fcn.00401450
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x20
call fcn.004010d0
lea eax, [ebp - 0x14]
push eax
sub esp, 8
lea eax, [ebp - 0x64]
mov ecx, esp
mov dword [ebp - 0x9c], esp
push eax
call fcn.00401000
sub esp, 8
lea eax, [ebp - 0x30]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x25
call fcn.00401000
push 1
mov ecx, edi
mov byte [ebp - 4], 0x20
call fcn.00404830
push 1
sub esp, 8
lea eax, [ebp - 0x30]
mov ecx, esp
push eax
call fcn.00401000
mov ecx, dword [edi + 0x16c]
call fcn.0040a1f0
push 0
push 0x41b47c
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x30]
call fcn.00401f10
lea ecx, [ebp - 0x1c]
call fcn.004010d0
lea ecx, [ebp - 0x30]
call fcn.00402130
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x10
call fcn.004010d0
jmp 0x404669
push 0x41bd60
lea ecx, [ebp - 0x1c]
call fcn.00401070
or ebx, 4
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x38], ebx
call fcn.004016b0
test al, al
je 0x404225
cmp dword [ebp - 0x14], 0
jne 0x404225
lea ecx, [edi + 0x158]
call fcn.00402190
mov byte [ebp - 0x95], 1
test eax, eax
jg 0x40422c
mov byte [ebp - 0x95], 0
mov dword [ebp - 4], 0x10
test bl, 4
je 0x404240
lea ecx, [ebp - 0x1c]
call fcn.004010d0
cmp byte [ebp - 0x95], 0
je 0x404659
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0
call fcn.004010a0
sub esp, 8
mov esi, esp
sub esp, 8
mov ecx, esp
push str.newFlashPlayerVersion
mov byte [ebp - 4], 0x27
call fcn.00401070
push esi
mov ecx, edi
call fcn.00405230
lea ecx, [ebp - 0x3c]
call fcn.00401840
sub esp, 8
lea eax, [ebp - 0x3c]
mov ecx, esp
mov dword [ebp - 0x9c], esp
push eax
call fcn.00401000
sub esp, 8
lea eax, [ebp - 0x8c]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x28
call fcn.00401000
mov ecx, edi
mov byte [ebp - 4], 0x27
call fcn.00403270
cmp eax, 0xffffffff
jne 0x4043e4
push str.player
lea ecx, [ebp - 0x6c]
call fcn.00401800
lea esi, [edi + 0x158]
mov ecx, esi
call fcn.00402130
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 1
je 0x4042f9
push 0x80
mov ecx, esi
call fcn.00402130
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x9c], esp
call fcn.004010a0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x14]
push eax
push 1
push dword [ebp - 0xb4]
mov byte [ebp - 4], 0x29
sub esp, 8
mov ecx, esp
push esi
call fcn.00401000
mov byte [ebp - 4], 0x27
mov ecx, dword [edi + 0x16c]
call fcn.0040aa80
push str.ppapi
lea ecx, [ebp - 0x1c]
call fcn.00401070
push eax
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x2a
call fcn.004016b0
lea ecx, [ebp - 0x1c]
mov bl, al
mov byte [ebp - 4], 0x27
call fcn.004010d0
test bl, bl
je 0x4043eb
push esi
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], 0
call fcn.00401000
push 0
push 0x41b47c
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x2b
call fcn.00401f10
lea ecx, [ebp - 0x1c]
call fcn.004010d0
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x9c], esp
call fcn.004010a0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x14]
push eax
push 1
push 0x100
sub esp, 8
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x2c
call fcn.00401000
mov byte [ebp - 4], 0x2b
mov ecx, dword [edi + 0x16c]
call fcn.0040aa80
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x27
call fcn.004010d0
jmp 0x4043eb
mov dword [ebp - 0x20], 0x720
mov ecx, dword [edi + 0x16c]
call fcn.004097c0
test al, 4
je 0x404644
push str.0.0.0.0
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], 0
call fcn.00401070
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x2d
mov dword [ebp - 0x28], 0
call fcn.004010a0
sub esp, 8
mov esi, esp
sub esp, 8
mov ecx, esp
push str.newFlashHelperUninstallerVersion
mov byte [ebp - 4], 0x2e
call fcn.00401070
push esi
mov ecx, edi
call fcn.00405230
lea ecx, [ebp - 0x28]
call fcn.00401840
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x74]
push eax
mov ecx, edi
call fcn.00404ea0
push 0x41be8c
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x44], 0
call fcn.00401070
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x9c], esp
push 0x41bea0
mov byte [ebp - 4], 0x2f
call fcn.00401070
sub esp, 8
lea eax, [edi + 0x158]
mov ecx, esp
mov dword [ebp - 0xa0], esp
push eax
mov byte [ebp - 4], 0x30
call fcn.00401000
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x41bea0
mov byte [ebp - 4], 0x31
call fcn.00401070
sub esp, 8
mov ecx, esp
mov dword [ebp - 0xa4], esp
push str.__p
mov byte [ebp - 4], 0x32
call fcn.00401070
sub esp, 8
lea eax, [ebp - 0x84]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x33
call fcn.00401000
lea ecx, [ebp - 0x44]
call fcn.00401450
mov ecx, eax
mov byte [ebp - 4], 0x32
call fcn.00401450
mov ecx, eax
mov byte [ebp - 4], 0x31
call fcn.00401450
mov ecx, eax
mov byte [ebp - 4], 0x30
call fcn.00401450
mov byte [ebp - 4], 0x2f
mov ecx, eax
call fcn.00401450
sub esp, 8
lea eax, [ebp - 0x28]
mov ecx, esp
mov dword [ebp - 0x9c], esp
push eax
call fcn.00401000
sub esp, 8
lea eax, [ebp - 0x54]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x34
call fcn.00401000
mov ecx, edi
mov byte [ebp - 4], 0x2f
call fcn.00403270
cmp eax, 0xffffffff
jne 0x4045ca
cmp dword [ebp - 0x14], 0
jne 0x404612
push 0x41bea4
lea ecx, [ebp - 0x6c]
call fcn.00401800
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x9c], esp
call fcn.004010a0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x14]
push eax
push 1
push 4
sub esp, 8
lea eax, [ebp - 0x74]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x35
call fcn.00401000
mov byte [ebp - 4], 0x2f
mov ecx, dword [edi + 0x16c]
call fcn.0040aa80
cmp dword [ebp - 0x14], 0
jne 0x404612
lea eax, [ebp - 0x34]
push eax
sub esp, 8
lea eax, [ebp - 0x44]
mov ecx, esp
mov dword [ebp - 0x9c], esp
push eax
call fcn.00401000
mov byte [ebp - 4], 0x36
jmp 0x4045ec
cmp dword [ebp - 0x14], 0
jne 0x404612
lea eax, [ebp - 0x34]
push eax
sub esp, 8
lea eax, [ebp - 0x44]
mov ecx, esp
mov dword [ebp - 0x9c], esp
push eax
call fcn.00401000
mov byte [ebp - 4], 0x37
sub esp, 8
lea eax, [ebp - 0x74]
mov ecx, esp
push eax
call fcn.00401000
push 1
mov ecx, edi
mov byte [ebp - 4], 0x2f
call fcn.00404830
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x2e
call fcn.004010d0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x2d
call fcn.004010d0
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x27
call fcn.004010d0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x10
call fcn.004010d0
jmp 0x404669
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x14], 0x711
mov byte [ebp - 4], 0x10
call fcn.004010d0
jmp 0x404669
mov eax, dword [ebp - 0x14]
mov ecx, 0x6ff
test eax, eax
cmove eax, ecx
mov dword [ebp - 0x14], eax
lea esi, [edi + 0x148]
mov ecx, esi
call fcn.00402190
test eax, eax
jle 0x404690
sub esp, 8
mov ecx, esp
push esi
call fcn.00401000
lea ecx, [edi + 0x150]
call fcn.00401840
cmp dword [ebp - 0x14], 0
je 0x4046ac
sub esp, 8
lea eax, [ebp - 0x6c]
mov ecx, esp
push eax
call fcn.00401000
push dword [ebp - 0x20]
push dword [ebp - 0x14]
jmp 0x4046f7
push 0x41bd60
lea ecx, [ebp - 0x1c]
call fcn.00401070
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x38
call fcn.004016b0
lea ecx, [ebp - 0x1c]
mov bl, al
mov byte [ebp - 4], 0x10
call fcn.004010d0
test bl, bl
je 0x40470a
sub esp, 8
mov ecx, esp
push 0x41b284
call fcn.00401070
xor ecx, ecx
cmp dword [ebp - 0x20], 0x720
push 0
cmove ecx, dword [ebp - 0x20]
push ecx
push dword [ebp - 0xac]
mov ecx, edi
push dword [ebp - 0xb4]
call fcn.00406770
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0xc
call fcn.004010d0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0xb
call fcn.004010d0
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 7
call fcn.004010d0
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 6
call fcn.004010d0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 5
call fcn.004010d0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 4
call fcn.004010d0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 3
call fcn.004010d0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 1
call fcn.004010d0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0
call fcn.004010d0
lea ecx, [ebp + 8]
mov dword [ebp - 4], 0xffffffff
call fcn.004010d0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040ee55
mov esp, ebp
pop ebp
ret 8