Function at 0x413500
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x61e5db
mov eax, dword fs:[0]
push eax
sub esp, 0x134
mov eax, dword [0x6d45e0]
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 esi, ecx
call fcn.00405030
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x41354c
push 0x80004005
call fcn.00404ef0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0
call fcn.00405030
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x41357c
push 0x80004005
call fcn.00404ef0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
push ecx
lea edx, [ebp - 0x14]
mov byte [ebp - 4], 1
mov ecx, esi
call fcn.00412f70
mov esi, dword [ebp - 0x14]
add esp, 4
or ebx, 0xffffffff
push esi
test eax, eax
je 0x413771
lea ecx, [ebp - 0x6c]
call fcn.004163f0
push eax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 2
push eax
call fcn.00405b90
mov byte [ebp - 4], 4
cmp dword [ebp - 0x58], 8
jb 0x4135d8
push dword [ebp - 0x6c]
call fcn.004c41b0
add esp, 4
push 1
sub esp, 8
mov dword [ebp - 0x58], 7
xor eax, eax
mov dword [ebp - 0x5c], 0
lea ecx, [ebp - 0xb8]
mov word [ebp - 0x6c], ax
call fcn.00414e80
inc eax
lea ecx, [ebp - 0xb8]
push eax
push 0
lea eax, [ebp - 0xd8]
push eax
call fcn.0040da30
mov edi, eax
lea eax, [ebp - 0xb8]
cmp eax, edi
je 0x41365c
cmp dword [ebp - 0xa4], 0x10
jb 0x413635
push dword [ebp - 0xb8]
call fcn.004c41b0
add esp, 4
push edi
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xa4], 0xf
mov dword [ebp - 0xa8], 0
mov byte [ebp - 0xb8], 0
call fcn.00404830
cmp dword [ebp - 0xc4], 0x10
jb 0x413673
push dword [ebp - 0xd8]
call fcn.004c41b0
add esp, 4
push 0xa
push str.config.ini
lea ecx, [ebp - 0xb8]
call fcn.00405dc0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0xb8]
mov ecx, 0x6f5fe8
push eax
call fcn.00404890
mov ecx, 0x6f5fc4
call fcn.004064c0
cmp dword [ebp - 0xa4], 0x10
lea eax, [ebp - 0xb8]
lea ecx, [ebp - 0x1c]
cmovae eax, dword [ebp - 0xb8]
push eax
call fcn.004149b0
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.00405940
mov byte [ebp - 4], 6
push dword [eax]
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], str.Common.cpp
push str.read_g_globalCfg_pass__Configpath_s
push 2
push eax
mov dword [ebp - 0x34], str.CheckUpdate
mov dword [ebp - 0x30], str.C:UsersPublicPddBot.log
mov dword [ebp - 0x2c], 0x191
mov dword [ebp - 0x28], 7
call fcn.00415940
mov byte [ebp - 4], 5
add esp, 0x10
mov edx, dword [ebp - 0xbc]
mov ecx, ebx
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413734
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
mov ecx, ebx
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413754
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
cmp dword [ebp - 0xa4], 0x10
jb 0x4137b1
push dword [ebp - 0xb8]
call fcn.004c41b0
add esp, 4
jmp 0x4137b1
push str.read_g_globalCfg_fail_configpath_s
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], str.Common.cpp
push 2
push eax
mov dword [ebp - 0x34], str.CheckUpdate
mov dword [ebp - 0x30], str.C:UsersPublicPddBot.log
mov dword [ebp - 0x2c], 0x195
mov dword [ebp - 0x28], 7
call fcn.00415940
add esp, 0x10
mov ecx, 0x6f5fc4
call fcn.004064c0
call fcn.00417230
push 8
push str.download
lea ecx, [ebp - 0x13c]
mov dword [ebp - 0x128], 0xf
mov dword [ebp - 0x12c], 0
mov byte [ebp - 0x13c], 0
call fcn.00404a10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x124]
push 3
push 0x69ae8c
mov dword [ebp - 0x110], 0xf
mov dword [ebp - 0x114], 0
mov byte [ebp - 0x124], 0
call fcn.00404a10
lea eax, [ebp - 0x13c]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x124]
mov ecx, 0x6f5fc4
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.00406bd0
cmp dword [ebp - 0x110], 0x10
jb 0x41384e
push dword [ebp - 0x124]
call fcn.004c41b0
add esp, 4
mov dword [ebp - 0x110], 0xf
mov dword [ebp - 0x114], 0
mov byte [ebp - 0x124], 0
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x128], 0x10
jb 0x413884
push dword [ebp - 0x13c]
call fcn.004c41b0
add esp, 4
cmp dword [ebp - 0x88], 0x10
lea eax, [ebp - 0x9c]
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0x128], 0xf
cmovae eax, dword [ebp - 0x9c]
push eax
mov dword [ebp - 0x12c], 0
mov byte [ebp - 0x13c], 0
mov dword [ebp - 0xa0], 0
call fcn.004149b0
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.00405940
mov byte [ebp - 4], 0xe
mov ecx, ebx
mov edx, dword [ebp - 0xf4]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413903
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x88], 0x10
lea ecx, [ebp - 0x9c]
mov edi, dword [ebp - 0x8c]
mov eax, 1
cmovae ecx, dword [ebp - 0x9c]
cmp edi, eax
cmovb eax, edi
push eax
push 0x69ae90
push ecx
call fcn.00406290
add esp, 0xc
test eax, eax
jne 0x41394e
cmp edi, 1
jae 0x413944
or eax, 0xffffffff
jmp 0x41394c
xor eax, eax
cmp edi, 1
setne al
test eax, eax
sete al
test al, al
je 0x413e6e
cmp dword [esi - 0xc], 0
je 0x413db8
push 0x69ae94
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
call fcn.004167e0
push 0x5c
push esi
mov byte [ebp - 4], 0xf
call fcn.004c6356
add esp, 8
test eax, eax
jne 0x41398f
or eax, 0xffffffff
jmp 0x413993
sub eax, esi
sar eax, 1
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0
push eax
lea ecx, [ebp - 0x14]
call fcn.00414ab0
push str.pddworkbenchdownload
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x10
call fcn.004046e0
push 0x69ae8c
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x11
call fcn.004046e0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0xf0]
mov ecx, 0x6f5fc4
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00406bd0
cmp dword [ebp - 0xdc], 0x10
jb 0x413a00
push dword [ebp - 0xf0]
call fcn.004c41b0
add esp, 4
mov dword [ebp - 0xdc], 0xf
mov dword [ebp - 0xe0], 0
mov byte [ebp - 0xf0], 0
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x58], 0x10
jb 0x413a30
push dword [ebp - 0x6c]
call fcn.004c41b0
add esp, 4
cmp dword [ebp - 0x40], 0x10
lea eax, [ebp - 0x54]
mov esi, dword [ebp - 0x44]
mov edx, 1
cmovae eax, dword [ebp - 0x54]
cmp esi, 1
mov dword [ebp - 0x58], 0xf
cmovb edx, esi
mov dword [ebp - 0x5c], 0
push edx
push 0x69ae90
push eax
mov byte [ebp - 0x6c], 0
call fcn.00406290
add esp, 0xc
test eax, eax
jne 0x413a82
cmp esi, 1
jae 0x413a78
or eax, 0xffffffff
jmp 0x413a80
xor eax, eax
cmp esi, 1
setne al
test eax, eax
mov edi, dword [ebp - 0x20]
sete al
test al, al
je 0x413b82
push str.Setup_PddWorkbench.exe
lea edx, [ebp - 0x20]
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x18]
call fcn.00414be0
add esp, 4
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x38]
push dword [ebp - 0x18]
mov dword [ebp - 0x38], str.Common.cpp
push str.read_pddWorkbench_InstallPatch_:_s
push 2
push eax
mov dword [ebp - 0x34], str.CheckUpdate
mov dword [ebp - 0x30], str.C:UsersPublicPddBot.log
mov dword [ebp - 0x2c], 0x1a9
mov dword [ebp - 0x28], 7
call fcn.00415940
add esp, 0x10
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x18]
call fcn.00412bc0
test eax, eax
je 0x413b62
push str.3.1.3.9
lea ecx, [ebp - 0xbc]
call fcn.004167e0
lea edx, [ebp - 0xbc]
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x24]
call fcn.00413420
test eax, eax
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0xbc]
mov ecx, ebx
setg byte [ebp - 0xbd]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413b44
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xbd], 0
je 0x413b62
push 5
push 0
push edi
push dword [ebp - 0x18]
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov byte [ebp - 4], 0x15
mov ecx, ebx
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413b82
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x1c]
push eax
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0xbc]
call fcn.00414b20
add esp, 4
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x18
call fcn.00414d80
mov byte [ebp - 4], 0x15
mov ecx, ebx
mov edx, dword [ebp - 0xbc]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413bc7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x14]
call fcn.00412bc0
test eax, eax
je 0x413d55
push 0x69af6c
lea ecx, [ebp - 0xbc]
call fcn.004167e0
lea edx, [ebp - 0xbc]
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x24]
call fcn.00413420
test eax, eax
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0xbc]
mov ecx, ebx
setg byte [ebp - 0xbd]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413c28
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xbd], 0
je 0x413cae
mov esi, dword [ebp - 0x14]
push 5
push 0
push edi
push esi
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp dword [ebp - 0x40], 0x10
jb 0x413c58
push dword [ebp - 0x54]
call fcn.004c41b0
add esp, 4
add edi, 0xfffffff0
mov dword [ebp - 0x40], 0xf
mov dword [ebp - 0x44], 0
mov ecx, ebx
mov byte [ebp - 0x54], 0
mov byte [ebp - 4], 0xf
lea eax, [edi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413c87
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov ecx, ebx
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413ca7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor edi, edi
jmp 0x413dbd
push 0x69af7c
lea ecx, [ebp - 0x3c]
call fcn.004046e0
push str.download
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x1a
call fcn.004046e0
push 0x69ae8c
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x1b
call fcn.004046e0
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x1c
push eax
lea eax, [ebp - 0x84]
mov ecx, 0x6f5fc4
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.00406d80
lea ecx, [ebp - 0xd8]
call fcn.004047b0
lea ecx, [ebp - 0x84]
call fcn.004047b0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x15
call fcn.004047b0
push 0x698588
lea ecx, [ebp - 0xd8]
call fcn.004046e0
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 0x1d
push eax
mov ecx, 0x6f5fc4
call fcn.00406a80
lea ecx, [ebp - 0xd8]
call fcn.004047b0
cmp dword [ebp - 0x40], 0x10
jb 0x413d66
push dword [ebp - 0x54]
call fcn.004c41b0
add esp, 4
add edi, 0xfffffff0
mov dword [ebp - 0x40], 0xf
mov dword [ebp - 0x44], 0
mov ecx, ebx
mov byte [ebp - 0x54], 0
mov byte [ebp - 4], 0xf
lea eax, [edi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413d95
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413db5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
mov edi, 1
mov byte [ebp - 4], 0xb
mov ecx, ebx
mov edx, dword [ebp - 0xa0]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413de0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x88], 0x10
jb 0x413df7
push dword [ebp - 0x9c]
call fcn.004c41b0
add esp, 4
mov byte [ebp - 4], 0
mov ecx, ebx
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov dword [ebp - 0x88], 0xf
mov dword [ebp - 0x8c], 0
mov byte [ebp - 0x9c], 0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413e32
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x413e50
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, edi
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.004c392d
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x88], 0x10
lea ecx, [ebp - 0x9c]
mov eax, 1
cmovae ecx, dword [ebp - 0x9c]
cmp edi, eax
cmovb eax, edi
push eax
push 0x69af7c
push ecx
call fcn.00406290
add esp, 0xc
test eax, eax
jne 0x413eb3
cmp edi, 1
jae 0x413ea9
or eax, 0xffffffff
jmp 0x413eb1
xor eax, eax
cmp edi, 1
setne al
test eax, eax
sete al
test al, al
je 0x4143a4
cmp dword [esi - 0xc], 0
je 0x413db8
push 0x69ae94
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
call fcn.004167e0
push 0x5c
push esi
mov byte [ebp - 4], 0x1e
call fcn.004c6356
add esp, 8
test eax, eax
jne 0x413ef4
or eax, 0xffffffff
jmp 0x413ef8
sub eax, esi
sar eax, 1
push eax
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x14]
call fcn.00414ab0
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x1f
call fcn.00414d80
mov byte [ebp - 4], 0x1e
mov ecx, ebx
mov edx, dword [ebp - 0xbc]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413f38
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x18]
push eax
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0xbc]
call fcn.00414b20
add esp, 4
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x20
call fcn.00414d80
mov byte [ebp - 4], 0x1e
mov ecx, ebx
mov edx, dword [ebp - 0xbc]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x413f7d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x18]
lea ecx, [ebp - 0x84]
call fcn.004163f0
push eax
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x21
push eax
call fcn.00405b90
mov byte [ebp - 4], 0x23
cmp dword [ebp - 0x70], 8
jb 0x413fb1
push dword [ebp - 0x84]
call fcn.004c41b0
add esp, 4
xor eax, eax
mov dword [ebp - 0x70], 7
cmp dword [ebp - 0x28], 0x10
mov word [ebp - 0x84], ax
lea eax, [ebp - 0x3c]
cmovae eax, dword [ebp - 0x3c]
push eax
mov dword [ebp - 0x74], 0
call fcn.004c6224
add esp, 4
test eax, eax
je 0x413fff
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x28], 0x10
lea eax, [ebp - 0x3c]
cmovae eax, dword [ebp - 0x3c]
push eax
call fcn.004c6224
add esp, 4
push 0x69af80
lea ecx, [ebp - 0xd8]
call fcn.004046e0
push str.download
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x24
call fcn.004046e0
push 0x69ae8c
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x25
call fcn.004046e0
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 0x26
push eax
lea eax, [ebp - 0xf0]
mov ecx, 0x6f5fc4
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.00406d80
cmp dword [ebp - 0x58], 0x10
jb 0x414065
push dword [ebp - 0x6c]
call fcn.004c41b0
add esp, 4
cmp dword [ebp - 0xdc], 0x10
mov dword [ebp - 0x58], 0xf
mov dword [ebp - 0x5c], 0
mov byte [ebp - 0x6c], 0
jb 0x41408e
push dword [ebp - 0xf0]
call fcn.004c41b0
add esp, 4
mov byte [ebp - 4], 0x23
cmp dword [ebp - 0xc4], 0x10
mov dword [ebp - 0xdc], 0xf
mov dword [ebp - 0xe0], 0
mov byte [ebp - 0xf0], 0
jb 0x4140c4
push dword [ebp - 0xd8]
call fcn.004c41b0
add esp, 4
push 0x698588
lea ecx, [ebp - 0xd8]
call fcn.004046e0
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 0x27
push eax
mov ecx, 0x6f5fc4
call fcn.00406a80
mov byte [ebp - 4], 0x23
cmp dword [ebp - 0xc4], 0x10
jb 0x414104
push dword [ebp - 0xd8]
call fcn.004c41b0
add esp, 4
push str.pddworkbenchdownload
lea ecx, [ebp - 0xf0]
call fcn.004046e0
push 0x69ae8c
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x28
call fcn.004046e0
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0x29
push eax
lea eax, [ebp - 0x6c]
mov ecx, 0x6f5fc4
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00406bd0
cmp dword [ebp - 0x58], 0x10
jb 0x414153
push dword [ebp - 0x6c]
call fcn.004c41b0
add esp, 4
mov dword [ebp - 0x58], 0xf
mov dword [ebp - 0x5c], 0
mov byte [ebp - 0x6c], 0
mov byte [ebp - 4], 0x2c
cmp dword [ebp - 0xdc], 0x10
jb 0x414180
push dword [ebp - 0xf0]
call fcn.004c41b0
add esp, 4
cmp dword [ebp - 0x40], 0x10
lea eax, [ebp - 0x54]
mov esi, dword [ebp - 0x44]
mov ecx, 1
cmovae eax, dword [ebp - 0x54]
cmp esi, 1
mov dword [ebp - 0xdc], 0xf
cmovb ecx, esi
mov dword [ebp - 0xe0], 0
push ecx
push 0x69ae90
push eax
mov byte [ebp - 0xf0], 0
call fcn.00406290
add esp, 0xc
test eax, eax
jne 0x4141db
cmp esi, 1
jae 0x4141d1
or eax, 0xffffffff
jmp 0x4141d9
xor eax, eax
cmp esi, 1
setne al
test eax, eax
sete al
test al, al
je 0x414352
push str.Setup_PddWorkbench.exe
lea edx, [ebp - 0x14]
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x1c]
call fcn.00414be0
add esp, 4
lea edx, [ebp - 0x24]
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x1c]
call fcn.00412bc0
test eax, eax
je 0x414332
mov edx, str.3.1.3.9
lea ecx, [ebp - 0x24]
call fcn.00414cc0
test al, al
je 0x414332
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xd8]
call fcn.004163f0
push eax
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0x2e
push eax
call fcn.00405b90
push eax
lea ecx, [ebp - 0x3c]
call fcn.0040b3d0
lea ecx, [ebp - 0x10c]
call fcn.004047b0
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x2d
call fcn.00415d80
cmp dword [ebp - 0x28], 0x10
lea eax, [ebp - 0x3c]
cmovae eax, dword [ebp - 0x3c]
push eax
call fcn.004c6224
add esp, 4
lea ecx, [ebp - 0x10c]
push 0x69af80
call fcn.004046e0
push str.pddworkbenchdownload
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x2f
call fcn.004046e0
push 0x69ae8c
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x30
call fcn.004046e0
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0x31
push eax
lea eax, [ebp - 0x84]
mov ecx, 0x6f5fc4
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.00406d80
lea ecx, [ebp - 0xd8]
call fcn.004047b0
lea ecx, [ebp - 0x84]
call fcn.004047b0
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0x2d
call fcn.004047b0
push 0x698588
lea ecx, [ebp - 0x10c]
call fcn.004046e0
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0x32
push eax
mov ecx, 0x6f5fc4
call fcn.00406a80
lea ecx, [ebp - 0x10c]
call fcn.004047b0
mov byte [ebp - 4], 0x2c
mov ecx, ebx
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x414352
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x40], 0x10
jb 0x414363
push dword [ebp - 0x54]
call fcn.004c41b0
add esp, 4
cmp dword [ebp - 0x28], 0x10
mov dword [ebp - 0x40], 0xf
mov dword [ebp - 0x44], 0
mov byte [ebp - 0x54], 0
jb 0x414386
push dword [ebp - 0x3c]
call fcn.004c41b0
add esp, 4
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x28], 0xf
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x3c], 0
jmp 0x413d9c
cmp dword [ebp - 0x88], 0x10
lea eax, [ebp - 0x9c]
mov ecx, 1
cmovae eax, dword [ebp - 0x9c]
cmp edi, 1
cmovb ecx, edi
push ecx
push 0x69af80
push eax
call fcn.00406290
add esp, 0xc
test eax, eax
jne 0x4143ea
cmp edi, 1
jae 0x4143e0
or eax, 0xffffffff
jmp 0x4143e8
xor eax, eax
cmp edi, 1
setne al
test eax, eax
sete al
test al, al
je 0x413db8
cmp dword [esi - 0xc], 0
je 0x413db8
push 0x69ae94
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
call fcn.004167e0
push 0x5c
push esi
mov byte [ebp - 4], 0x33
call fcn.004c6356
add esp, 8
test eax, eax
jne 0x41442b
or eax, 0xffffffff
jmp 0x41442f
sub eax, esi
sar eax, 1
push eax
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x14]
call fcn.00414ab0
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x34
call fcn.00414d80
mov byte [ebp - 4], 0x33
mov ecx, ebx
mov edx, dword [ebp - 0xbc]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41446f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x18]
push eax
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0xbc]
call fcn.00414b20
add esp, 4
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x35
call fcn.00414d80
mov byte [ebp - 4], 0x33
mov ecx, ebx
mov edx, dword [ebp - 0xbc]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4144b4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0
call fcn.00405c70
lea edx, [ebp - 0x20]
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x18]
call fcn.00412bc0
test eax, eax
setne al
test al, al
je 0x41466c
mov edx, 0x69af6c
lea ecx, [ebp - 0x20]
call fcn.00414cc0
test al, al
je 0x414543
push dword [ebp - 0x18]
lea ecx, [ebp - 0x10c]
call fcn.004163f0
push eax
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0x37
push eax
call fcn.00405b90
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0x36
call fcn.00415d80
cmp dword [ebp - 0x70], 0x10
lea eax, [ebp - 0x84]
cmovae eax, dword [ebp - 0x84]
push eax
call fcn.004c6224
add esp, 4
lea ecx, [ebp - 0x84]
call fcn.004047b0
push str.pddworkbenchdownload
lea ecx, [ebp - 0xd8]
call fcn.004046e0
push 0x69ae8c
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0x39
call fcn.004046e0
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 0x3a
push eax
lea eax, [ebp - 0x10c]
mov ecx, 0x6f5fc4
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.00406bd0
lea ecx, [ebp - 0x10c]
call fcn.004047b0
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x3d
call fcn.004047b0
lea eax, [ebp - 0x6c]
push 0x69ae90
push eax
call fcn.0040dd40
add esp, 8
test al, al
je 0x41464f
push str.Setup_PddWorkbench.exe
lea edx, [ebp - 0x14]
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x1c]
call fcn.00414be0
add esp, 4
lea edx, [ebp - 0x24]
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x1c]
call fcn.00412bc0
test eax, eax
je 0x414647
mov edx, str.3.1.3.9
lea ecx, [ebp - 0x24]
call fcn.00414cc0
test al, al
je 0x414647
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x10c]
call fcn.004163f0
push eax
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0x3f
push eax
call fcn.00405b90
lea ecx, [ebp - 0x10c]
call fcn.00415d80
cmp dword [ebp - 0x70], 0x10
lea eax, [ebp - 0x84]
cmovae eax, dword [ebp - 0x84]
push eax
call fcn.004c6224
add esp, 4
lea ecx, [ebp - 0x84]
call fcn.004047b0
lea ecx, [ebp - 0x1c]
call fcn.00405ca0
lea ecx, [ebp - 0x6c]
call fcn.004047b0
lea ecx, [ebp - 0x20]
call fcn.00405ca0
lea ecx, [ebp - 0x18]
call fcn.00405ca0
jmp 0x413db5
push dword [ebp - 0x18]
lea ecx, [ebp - 0x10c]
call fcn.004163f0
push eax
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 0x38
push eax
call fcn.00405b90
lea ecx, [ebp - 0x10c]
call fcn.00415d80
cmp dword [ebp - 0x40], 0x10
lea eax, [ebp - 0x54]
push 0x69af84
cmovae eax, dword [ebp - 0x54]
push eax
call fcn.004c4a36
add esp, 8
test eax, eax
jne 0x4146b4
xor edi, edi
jmp 0x4146d6
push eax
call fcn.004c4de0
add esp, 4
lea eax, [ebp - 0x54]
cmp dword [ebp - 0x40], 0x10
cmovae eax, dword [ebp - 0x54]
push eax
call fcn.004c6224
add esp, 4
mov edi, 1
lea ecx, [ebp - 0x54]
call fcn.004047b0
lea ecx, [ebp - 0x20]
call fcn.00405ca0
lea ecx, [ebp - 0x18]
call fcn.00405ca0
mov esi, dword [ebp - 0x14]
jmp 0x413dbd