Function at 0x4191d0
Capabilities:
Create directory

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59748a
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x290
mov eax, dword [0x60dfd4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x294], ecx
call fcn.00421571
mov edi, eax
test edi, edi
je 0x41a61e
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
add eax, 0x10
mov dword [ebp - 0x238], eax
mov dword [ebp - 4], 0
call fcn.00421571
mov edi, eax
test edi, edi
je 0x41a628
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
add eax, 0x10
mov dword [ebp - 0x244], eax
mov byte [ebp - 4], 1
call fcn.00421571
mov edi, eax
test edi, edi
je 0x41a632
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
add eax, 0x10
mov dword [ebp - 0x248], eax
mov byte [ebp - 4], 2
call fcn.00421571
mov edi, eax
test edi, edi
je 0x41a63c
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
add eax, 0x10
mov dword [ebp - 0x24c], eax
mov byte [ebp - 4], 3
call fcn.00421571
mov edi, eax
test edi, edi
je 0x41a646
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
lea edi, [eax + 0x10]
mov dword [ebp - 0x228], edi
mov byte [ebp - 4], 4
call fcn.00421571
mov dword [ebp - 0x2a0], eax
test eax, eax
je 0x41a650
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x2a0]
call esi
add eax, 0x10
mov dword [ebp - 0x250], eax
mov esi, dword [ebp - 0x294]
lea eax, [ebp - 0x238]
push eax
mov ecx, esi
mov byte [ebp - 4], 5
call fcn.0041aea0
lea eax, [ebp - 0x24c]
push eax
call fcn.0041b050
test eax, eax
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x2a0], eax
jne 0x41936e
push eax
push str.ProcessCommandLine___Unable_to_construct_base_logdir__or_it_does_not_exist___s_
call fcn.0041c4c0
add esp, 8
lea ecx, [ebp - 0x250]
call fcn.00405050
push 0x208
lea eax, [ebp - 0x220]
push 0
push eax
call fcn.0056eeb0
add esp, 0xc
lea eax, [ebp - 0x260]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 0x254]
push eax
movzx eax, word [ebp - 0x256]
push eax
movzx eax, word [ebp - 0x258]
push eax
movzx eax, word [ebp - 0x25a]
push eax
movzx eax, word [ebp - 0x25e]
push eax
movzx eax, word [ebp - 0x260]
push eax
push str.__04d_02d_02d_02d_02d_02d
lea eax, [ebp - 0x220]
push 0x103
push eax
call fcn.0041c470
lea ecx, [ebp - 0x220]
add esp, 0x24
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4193f0
sub ecx, edx
lea eax, [ebp - 0x220]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x250]
call fcn.004050e0
mov eax, dword [esi + 0x68]
mov dword [ebp - 0x234], 0
test eax, eax
jne 0x41946c
push 0xc
call fcn.0041d1b5
add esp, 4
mov dword [ebp - 0x284], eax
test eax, eax
je 0x41945b
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 1
mov dword [eax], 0
jmp 0x41945d
xor eax, eax
mov byte [ebp - 4], 5
mov dword [esi + 0x68], eax
test eax, eax
je 0x41a65a
push dword [eax]
lea ecx, [ebp - 0x234]
call fcn.004104f0
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x234]
mov esi, dword [eax - 0xc]
test esi, esi
js 0x41a68c
lfence
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x4194b7
push esi
lea ecx, [ebp - 0x234]
lfence
call fcn.00403b40
mov eax, dword [ebp - 0x234]
lea ecx, [esi + 1]
push ecx
push eax
call fcn.0057ab23
mov eax, dword [ebp - 0x234]
add esp, 8
cmp esi, dword [eax - 8]
jg 0x41a68c
mov dword [eax - 0xc], esi
xor ecx, ecx
mov eax, dword [ebp - 0x234]
mov word [eax + esi*2], cx
mov eax, dword [ebp - 0x234]
cmp dword [eax - 0xc], ecx
jge 0x4194f2
or eax, 0xffffffff
jmp 0x419511
push str.bluetooth
push eax
call fcn.0056e4d9
add esp, 8
test eax, eax
jne 0x419509
or eax, 0xffffffff
jmp 0x419511
sub eax, dword [ebp - 0x234]
sar eax, 1
shr eax, 0x1f
xor al, 1
mov dword [ebp - 0x22c], eax
call fcn.00421571
mov dword [ebp - 0x280], eax
test eax, eax
je 0x41a664
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x280]
call esi
add eax, 0x10
mov dword [ebp - 0x240], eax
mov eax, str.iProInstLogs
mov byte [ebp - 4], 8
test eax, 0xffff0000
jne 0x419579
movzx esi, ax
push esi
call fcn.0042e288
test eax, eax
je 0x41958b
push esi
push eax
lea ecx, [ebp - 0x240]
call fcn.004103f0
jmp 0x41958b
push 0xc
push str.iProInstLogs
lea ecx, [ebp - 0x240]
call fcn.004050e0
lea eax, [ebp - 0x240]
mov byte [ebp - 4], 9
push eax
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x224]
call fcn.0040b9b0
mov byte [ebp - 4], 0xa
lea ecx, [edi - 0x10]
mov edx, dword [eax]
or esi, 0xffffffff
mov dword [ebp - 0x290], ecx
lea eax, [edx - 0x10]
mov dword [ebp - 0x280], eax
cmp eax, ecx
je 0x419637
cmp dword [ecx + 0xc], 0
lea edi, [ecx + 0xc]
jl 0x419622
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x419622
mov ecx, dword [ebp - 0x280]
call fcn.00404fd0
mov dword [ebp - 0x280], eax
mov ecx, esi
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x419617
mov ecx, dword [ebp - 0x290]
lfence
push ecx
mov edi, dword [ecx]
mov edx, dword [edi]
mov esi, dword [edx + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov eax, dword [ebp - 0x280]
or esi, 0xffffffff
lea edi, [eax + 0x10]
mov dword [ebp - 0x228], edi
jmp 0x419637
push dword [edx - 0xc]
lea ecx, [ebp - 0x228]
push edx
call fcn.004050e0
mov edi, dword [ebp - 0x228]
mov byte [ebp - 4], 9
mov eax, esi
mov ecx, dword [ebp - 0x224]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x419674
lfence
mov eax, dword [ecx]
mov dword [ebp - 0x280], eax
push ecx
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x280]
call esi
or esi, 0xffffffff
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ecx, dword [ebp - 0x22c]
mov edx, 1
test cl, cl
mov eax, 0xb
lea ecx, [ebp - 0x240]
cmove eax, edx
mov edx, str.Bluetooth_
push eax
mov eax, 0x5eaa84
cmovne eax, edx
push eax
call fcn.0040c2b0
lea eax, [ebp - 0x240]
push eax
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x224]
call fcn.0040b9b0
mov byte [ebp - 4], 0xb
lea ecx, [edi - 0x10]
mov edx, dword [eax]
mov dword [ebp - 0x290], ecx
lea eax, [edx - 0x10]
mov dword [ebp - 0x280], eax
cmp eax, ecx
je 0x419751
cmp dword [ecx + 0xc], 0
lea edi, [ecx + 0xc]
jl 0x41973c
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x41973c
mov ecx, dword [ebp - 0x280]
call fcn.00404fd0
mov dword [ebp - 0x280], eax
mov ecx, esi
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x419731
mov ecx, dword [ebp - 0x290]
lfence
push ecx
mov edi, dword [ecx]
mov edx, dword [edi]
mov esi, dword [edx + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov eax, dword [ebp - 0x280]
or esi, 0xffffffff
lea edi, [eax + 0x10]
mov dword [ebp - 0x228], edi
jmp 0x419751
push dword [edx - 0xc]
lea ecx, [ebp - 0x228]
push edx
call fcn.004050e0
mov edi, dword [ebp - 0x228]
mov byte [ebp - 4], 9
mov eax, esi
mov ecx, dword [ebp - 0x224]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41978b
lfence
mov eax, dword [ecx]
mov dword [ebp - 0x280], eax
push ecx
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x280]
call esi
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
xorps xmm0, xmm0
mov dword [ebp - 0x264], 0
lea ecx, [ebp - 0x27c]
movq qword [ebp - 0x26c], xmm0
movups xmmword [ebp - 0x27c], xmm0
call fcn.004310b0
mov byte [ebp - 4], 0xc
call fcn.00421571
mov dword [ebp - 0x280], eax
test eax, eax
je 0x41a66e
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x280]
call esi
lea esi, [eax + 0x10]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x23c], esi
push 1
lea eax, [ebp - 0x280]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x228]
call fcn.0040bb10
mov eax, dword [eax]
mov ecx, 0x5eaa84
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x419843
test dx, dx
je 0x419837
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x419843
add eax, 4
add ecx, 4
test dx, dx
jne 0x419815
mov dword [ebp - 0x290], 0
jmp 0x41984e
sbb ecx, ecx
or ecx, 1
mov dword [ebp - 0x290], ecx
mov byte [ebp - 4], 0xd
or eax, 0xffffffff
mov ecx, dword [ebp - 0x280]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x419893
lfence
mov eax, dword [ecx]
mov dword [ebp - 0x224], eax
push ecx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x22c], eax
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x224]
call dword [ebp - 0x22c]
cmp dword [ebp - 0x290], 0
jne 0x419a1b
mov eax, dword [edi - 0xc]
lea ecx, [ebp - 0x228]
dec eax
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.0040c1c0
mov byte [ebp - 4], 0xf
add esi, 0xfffffff0
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x41993a
cmp dword [esi + 0xc], 0
jl 0x41991f
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x41991f
call fcn.00404fd0
mov dword [ebp - 0x290], eax
lea edx, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x419914
lfence
mov eax, dword [esi]
push esi
mov dword [ebp - 0x280], eax
mov edx, dword [eax]
mov esi, dword [edx + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x280]
call esi
mov eax, dword [ebp - 0x290]
add eax, 0x10
mov dword [ebp - 0x23c], eax
jmp 0x419934
push dword [edx - 0xc]
lea ecx, [ebp - 0x23c]
push edx
call fcn.004050e0
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x29c], eax
mov byte [ebp - 4], 0xd
or eax, 0xffffffff
mov ecx, dword [ebp - 0x224]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x419975
lfence
mov eax, dword [ecx]
mov dword [ebp - 0x280], eax
push ecx
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x280]
call esi
mov eax, dword [ebp - 0x29c]
push 0
push eax
lea ecx, [ebp - 0x27c]
call fcn.00431340
test eax, eax
jne 0x419abf
mov esi, dword [ebp - 0x2a0]
push esi
push edi
push str.ProcessCommandLine___Unable_to_create_logdir___s___reverting_to_base___s_
call fcn.0041c4c0
lea ecx, [edi - 0x10]
add esp, 0xc
lea edx, [esi - 0x10]
mov dword [ebp - 0x280], ecx
cmp edx, ecx
je 0x419abf
cmp dword [ecx + 0xc], 0
lea edi, [ecx + 0xc]
jl 0x419aaa
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x419aaa
mov ecx, edx
call fcn.00404fd0
mov dword [ebp - 0x290], eax
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x419a0d
lfence
mov ecx, dword [ebp - 0x280]
push ecx
mov edi, dword [ecx]
mov edx, dword [edi]
mov esi, dword [edx + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov eax, dword [ebp - 0x290]
lea edi, [eax + 0x10]
mov dword [ebp - 0x228], edi
jmp 0x419abf
lea ecx, [edi - 0x10]
add esi, 0xfffffff0
cmp ecx, esi
je 0x419975
cmp dword [esi + 0xc], 0
jl 0x419a8a
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x419a8a
call fcn.00404fd0
mov dword [ebp - 0x290], eax
lea edx, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x419a76
lfence
mov eax, dword [esi]
push esi
mov dword [ebp - 0x280], eax
mov edx, dword [eax]
mov esi, dword [edx + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x280]
call esi
mov eax, dword [ebp - 0x290]
add eax, 0x10
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x23c], eax
jmp 0x41997b
push dword [edi - 0xc]
lea ecx, [ebp - 0x23c]
push edi
call fcn.004050e0
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x29c], eax
jmp 0x41997b
push dword [esi - 0xc]
lea ecx, [ebp - 0x228]
push esi
call fcn.004050e0
mov edi, dword [ebp - 0x228]
mov eax, dword [ebp - 0x294]
mov eax, dword [eax + 0x64]
cmp dword [eax - 0xc], 0
je 0x419fa6
call fcn.00421571
mov dword [ebp - 0x280], eax
test eax, eax
je 0x41a678
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x280]
call esi
add eax, 0x10
mov dword [ebp - 0x22c], eax
mov byte [ebp - 4], 0x10
call fcn.00421571
mov dword [ebp - 0x280], eax
test eax, eax
je 0x41a682
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x280]
call esi
lea esi, [eax + 0x10]
mov dword [ebp - 0x230], esi
xor eax, eax
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x290], eax
test eax, eax
js 0x41a68c
mov edx, dword [ebp - 0x294]
mov ecx, dword [edx + 0x64]
lea edx, [ecx + eax*2]
mov eax, dword [ecx - 0xc]
mov dword [ebp - 0x224], edx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x298], eax
cmp edx, eax
jae 0x419be0
push 0x5ec6a0
push edx
lfence
call fcn.0057ab71
mov ecx, dword [ebp - 0x224]
add esp, 8
mov dword [ebp - 0x28c], eax
lea eax, [ecx + eax*2]
cmp eax, dword [ebp - 0x298]
jae 0x419be0
push 0x5ec6a0
push eax
lfence
call fcn.00575c36
mov ecx, dword [ebp - 0x28c]
add esp, 8
add ecx, dword [ebp - 0x290]
push eax
lea edx, [ecx + 1]
push ecx
mov ecx, dword [ebp - 0x294]
add edx, eax
lea eax, [ebp - 0x280]
mov dword [ebp - 0x290], edx
push eax
lea ecx, [ecx + 0x64]
call fcn.0041c210
mov eax, dword [ebp - 0x280]
jmp 0x419c88
mov ecx, dword [ebp - 0x294]
or edx, 0xffffffff
mov dword [ebp - 0x290], edx
mov eax, dword [ecx + 0x64]
mov eax, dword [eax - 0x10]
mov dword [ebp - 0x28c], eax
test eax, eax
je 0x419c28
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov ecx, eax
mov dword [ebp - 0x298], eax
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x28c]
call dword [ebp - 0x298]
mov dword [ebp - 0x224], eax
test eax, eax
jne 0x419c60
call fcn.00421571
mov dword [ebp - 0x28c], eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
mov ecx, eax
mov dword [ebp - 0x298], eax
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x28c]
call dword [ebp - 0x298]
mov dword [ebp - 0x224], eax
test eax, eax
je 0x41a61e
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
mov ecx, eax
mov dword [ebp - 0x28c], eax
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x224]
call dword [ebp - 0x28c]
add eax, 0x10
mov dword [ebp - 0x280], eax
lea edx, [eax - 0x10]
mov byte [ebp - 4], 0x13
add esi, 0xfffffff0
mov dword [ebp - 0x224], edx
cmp edx, esi
je 0x419d0b
cmp dword [esi + 0xc], 0
jl 0x419cf6
mov ecx, dword [edx]
cmp ecx, dword [esi]
jne 0x419cf6
mov ecx, edx
call fcn.00404fd0
mov dword [ebp - 0x298], eax
lea edx, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x419ceb
lfence
mov eax, dword [esi]
push esi
mov dword [ebp - 0x28c], eax
mov edx, dword [eax]
mov esi, dword [edx + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x28c]
call esi
mov eax, dword [ebp - 0x298]
add eax, 0x10
mov dword [ebp - 0x230], eax
jmp 0x419d05
push dword [eax - 0xc]
lea ecx, [ebp - 0x230]
push eax
call fcn.004050e0
mov edx, dword [ebp - 0x224]
mov byte [ebp - 4], 0x11
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x419d3d
lfence
mov eax, dword [edx]
mov dword [ebp - 0x28c], eax
push edx
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x28c]
call esi
lea ecx, [ebp - 0x230]
call fcn.0041c050
test al, al
je 0x419eda
mov eax, dword [ebp - 0x22c]
cmp dword [eax - 0xc], 0
je 0x419d6e
push 1
push 0x5ec6a0
lea ecx, [ebp - 0x22c]
call fcn.0040c2b0
mov esi, dword [ebp - 0x230]
cmp dword [esi - 0xc], 0
jl 0x419db4
push 0x5eaa84
push esi
call fcn.0056e4d9
add esp, 8
test eax, eax
je 0x419db4
sub eax, esi
sar eax, 1
js 0x419db4
push dword [esi - 0xc]
lea ecx, [ebp - 0x22c]
push esi
call fcn.0040c2b0
push esi
push 0x5ec6a4
call fcn.0041c4c0
add esp, 8
jmp 0x419eda
mov eax, dword [ebp - 0x294]
lea ecx, [ebp - 0x224]
add eax, 0xabc
mov dword [ebp - 0x224], 0
push eax
call fcn.004104f0
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x14
push eax
lea edx, [ebp - 0x224]
lea ecx, [ebp - 0x288]
call fcn.0040b9b0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x22c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040c2b0
mov byte [ebp - 4], 0x14
or eax, 0xffffffff
mov ecx, dword [ebp - 0x288]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x419e41
lfence
mov eax, dword [ecx]
mov dword [ebp - 0x28c], eax
push ecx
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x28c]
call esi
lea eax, [ebp - 0x230]
push eax
lea edx, [ebp - 0x224]
lea ecx, [ebp - 0x284]
call fcn.0040b9b0
push dword [eax]
push str.Patch_file_with_directory_prepend:__s_n
call fcn.0041c4c0
mov ecx, dword [ebp - 0x284]
add esp, 8
add ecx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x419e9f
lfence
mov eax, dword [ecx]
mov dword [ebp - 0x28c], eax
push ecx
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x28c]
call esi
mov byte [ebp - 4], 0x11
or eax, 0xffffffff
mov ecx, dword [ebp - 0x224]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x419eda
lfence
mov eax, dword [ecx]
mov dword [ebp - 0x28c], eax
push ecx
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x28c]
call esi
lea ecx, [ebp - 0x230]
call fcn.0041c050
test al, al
je 0x419efa
mov esi, dword [ebp - 0x230]
mov eax, dword [ebp - 0x290]
jmp 0x419b44
mov esi, dword [ebp - 0x294]
push 6
add esi, 0x4c
push str.PATCH
mov ecx, esi
call fcn.0040c2b0
mov eax, dword [ebp - 0x22c]
mov ecx, esi
push dword [eax - 0xc]
push eax
call fcn.0040c2b0
push 1
push 0x5ea17c
mov ecx, esi
call fcn.0040c2b0
mov byte [ebp - 4], 0x10
or eax, 0xffffffff
mov ecx, dword [ebp - 0x230]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x419f6b
lfence
mov eax, dword [ecx]
mov dword [ebp - 0x284], eax
push ecx
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x284]
call esi
mov byte [ebp - 4], 0xd
or eax, 0xffffffff
mov ecx, dword [ebp - 0x22c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x419fa6
lfence
mov eax, dword [ecx]
mov dword [ebp - 0x284], eax
push ecx
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x284]
call esi
mov eax, dword [ebp - 0x294]
mov esi, dword [ebp - 0x250]
cmp dword [eax + 0x78], 0
je 0x41a20e
mov eax, dword [eax + 0x4c]
cmp dword [eax - 0xc], 0
je 0x41a20e
push 0x5ea17c
lea edx, [ebp - 0x238]
lea ecx, [ebp - 0x280]
call fcn.0040b840
mov byte [ebp - 4], 0x18
mov edx, dword [eax]
lea ecx, [edx - 0x10]
mov dword [ebp - 0x284], ecx
lea eax, [edx - 0x10]
mov ecx, dword [ebp - 0x238]
add ecx, 0xfffffff0
mov dword [ebp - 0x28c], ecx
cmp eax, ecx
je 0x41a092
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x288], eax
jl 0x41a083
mov eax, dword [edx - 0x10]
cmp eax, dword [ecx]
jne 0x41a083
mov ecx, dword [ebp - 0x284]
call fcn.00404fd0
mov dword [ebp - 0x298], eax
or ecx, 0xffffffff
mov eax, dword [ebp - 0x288]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41a072
mov ecx, dword [ebp - 0x28c]
lfence
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0x284], eax
mov edx, dword [eax]
mov eax, dword [edx + 4]
mov ecx, eax
mov dword [ebp - 0x288], eax
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x284]
call dword [ebp - 0x288]
mov eax, dword [ebp - 0x298]
add eax, 0x10
mov dword [ebp - 0x238], eax
jmp 0x41a092
push dword [edx - 0xc]
lea ecx, [ebp - 0x238]
push edx
call fcn.004050e0
mov byte [ebp - 4], 0xd
or eax, 0xffffffff
mov ecx, dword [ebp - 0x280]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41a0d7
lfence
mov eax, dword [ecx]
mov dword [ebp - 0x284], eax
push ecx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x288], eax
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x284]
call dword [ebp - 0x288]
mov ecx, dword [ebp - 0x294]
lea edx, [ebp - 0x238]
add ecx, 0x4c
push ecx
lea ecx, [ebp - 0x298]
call fcn.0040b9b0
mov edx, dword [ebp - 0x294]
mov byte [ebp - 4], 0x19
mov eax, dword [eax]
mov dword [ebp - 0x280], eax
lea ecx, [eax - 0x10]
mov dword [ebp - 0x290], ecx
mov ecx, dword [edx + 0x4c]
sub ecx, 0x10
mov dword [ebp - 0x288], ecx
cmp dword [ebp - 0x290], ecx
je 0x41a1c0
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x280]
jl 0x41a1b4
mov eax, dword [ebp - 0x290]
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x41a1ae
mov ecx, dword [ebp - 0x290]
call fcn.00404fd0
mov dword [ebp - 0x28c], eax
or ecx, 0xffffffff
mov eax, dword [ebp - 0x284]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41a19a
lfence
mov ecx, dword [ebp - 0x288]
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0x284], eax
mov edx, dword [eax]
mov eax, dword [edx + 4]
mov ecx, eax
mov dword [ebp - 0x288], eax
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x284]
call dword [ebp - 0x288]
mov edx, dword [ebp - 0x294]
mov eax, dword [ebp - 0x28c]
add eax, 0x10
mov dword [edx + 0x4c], eax
jmp 0x41a1c0
mov eax, dword [ebp - 0x280]
push dword [eax - 0xc]
lea ecx, [edx + 0x4c]
push eax
call fcn.004050e0
mov byte [ebp - 4], 0xd
or eax, 0xffffffff
mov ecx, dword [ebp - 0x298]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41a3ff
lfence
mov eax, dword [ecx]
mov dword [ebp - 0x284], eax
push ecx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x288], eax
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x284]
call dword [ebp - 0x288]
jmp 0x41a3ff
push 0xb
push str.iProInstLog
lea ecx, [ebp - 0x248]
call fcn.004050e0
push dword [esi - 0xc]
lea ecx, [ebp - 0x248]
push esi
call fcn.0040c2b0
push 4
push str..txt
lea ecx, [ebp - 0x248]
call fcn.0040c2b0
push 4
push str._lv
lea ecx, [ebp - 0x244]
call fcn.004050e0
push 2
push 0x5ea370
lea ecx, [ebp - 0x244]
call fcn.0040c2b0
lea eax, [ebp - 0x248]
push eax
lea edx, [ebp - 0x228]
lea ecx, [ebp - 0x284]
call fcn.0040b9b0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x244]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040c2b0
mov byte [ebp - 4], 0xd
or eax, 0xffffffff
mov ecx, dword [ebp - 0x284]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41a2d7
lfence
mov eax, dword [ecx]
mov dword [ebp - 0x288], eax
push ecx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x28c], eax
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x288]
call dword [ebp - 0x28c]
push 2
push 0x5ec758
lea ecx, [ebp - 0x244]
call fcn.0040c2b0
lea eax, [ebp - 0x238]
push eax
lea edx, [ebp - 0x244]
lea ecx, [ebp - 0x280]
call fcn.0040b9b0
mov ecx, dword [ebp - 0x294]
mov byte [ebp - 4], 0x17
mov edx, dword [eax]
mov ecx, dword [ecx + 0x4c]
sub ecx, 0x10
lea eax, [edx - 0x10]
mov dword [ebp - 0x28c], ecx
mov dword [ebp - 0x284], eax
cmp eax, ecx
je 0x41a3ba
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x288], eax
jl 0x41a3a8
mov eax, dword [edx - 0x10]
cmp eax, dword [ecx]
jne 0x41a3a8
mov ecx, dword [ebp - 0x284]
call fcn.00404fd0
mov edx, dword [ebp - 0x288]
or ecx, 0xffffffff
mov dword [ebp - 0x298], eax
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41a39a
mov ecx, dword [ebp - 0x28c]
lfence
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0x284], eax
mov edx, dword [eax]
mov eax, dword [edx + 4]
mov ecx, eax
mov dword [ebp - 0x288], eax
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x284]
call dword [ebp - 0x288]
mov eax, dword [ebp - 0x298]
mov edx, dword [ebp - 0x294]
add eax, 0x10
mov dword [edx + 0x4c], eax
jmp 0x41a3ba
mov ecx, dword [ebp - 0x294]
push dword [edx - 0xc]
push edx
lea ecx, [ecx + 0x4c]
call fcn.004050e0
mov byte [ebp - 4], 0xd
or eax, 0xffffffff
mov ecx, dword [ebp - 0x280]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41a3ff
lfence
mov eax, dword [ecx]
mov dword [ebp - 0x284], eax
push ecx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x288], eax
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x284]
call dword [ebp - 0x288]
mov byte [ebp - 4], 0xc
or eax, 0xffffffff
mov ecx, dword [ebp - 0x29c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41a444
lfence
mov eax, dword [ecx]
mov dword [ebp - 0x284], eax
push ecx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x288], eax
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x284]
call dword [ebp - 0x288]
lea ecx, [ebp - 0x27c]
call fcn.0043125c
mov byte [ebp - 4], 7
or eax, 0xffffffff
mov ecx, dword [ebp - 0x240]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41a494
lfence
mov eax, dword [ecx]
mov dword [ebp - 0x284], eax
push ecx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x288], eax
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x284]
call dword [ebp - 0x288]
mov byte [ebp - 4], 5
or eax, 0xffffffff
mov ecx, dword [ebp - 0x234]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41a4d9
lfence
mov eax, dword [ecx]
mov dword [ebp - 0x284], eax
push ecx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, eax
mov dword [ebp - 0x288], eax
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x284]
call dword [ebp - 0x288]
mov byte [ebp - 4], 4
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41a50e
lfence
mov eax, dword [esi]
mov dword [ebp - 0x284], eax
push esi
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, dword [ebp - 0x284]
call esi
mov byte [ebp - 4], 3
lea ecx, [edi - 0x10]
or eax, 0xffffffff
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41a539
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov byte [ebp - 4], 2
or eax, 0xffffffff
mov ecx, dword [ebp - 0x2a0]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41a56a
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov byte [ebp - 4], 1
or eax, 0xffffffff
mov ecx, dword [ebp - 0x248]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41a59b
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov byte [ebp - 4], 0
or eax, 0xffffffff
mov ecx, dword [ebp - 0x244]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41a5cc
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov ecx, dword [ebp - 0x238]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x41a600
lfence
mov edi, dword [ecx]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5a72d4]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0056a6fa
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x80004005
call fcn.00403ba0
push 0x80004005
call fcn.00403ba0
push 0x80004005
call fcn.00403ba0
push 0x80004005
call fcn.00403ba0
push 0x80004005
call fcn.00403ba0
push 0x80004005
call fcn.00403ba0
push 0x8007000e
call fcn.0056db90
push 0x80004005
call fcn.00403ba0
push 0x80004005
call fcn.00403ba0
push 0x80004005
call fcn.00403ba0
push 0x80004005
call fcn.00403ba0
push 0x80070057
call fcn.00403ba0
int3