Function at 0x4130a0
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x784
mov eax, dword [0x555750]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
mov edi, dword [ebp + 8]
push 0x517f30
push 1
push 0
mov dword [ebp - 0x3c], ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov esi, eax
mov dword [ebp - 0x6d0], esi
test esi, esi
je 0x413366
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x413366
mov ecx, ebx
mov dword [ebp - 0xc], 0
xor eax, eax
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x413110
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [ebp - 0x1c]
call fcn.0040af60
cmp dword [ebp - 8], 8
lea edi, [ebp - 0x1c]
lea eax, [ebp - 0x76c]
cmovae edi, dword [ebp - 0x1c]
mov dword [ebp - 0x770], eax
test edi, edi
jne 0x413151
xor edx, edx
mov dword [ebp - 0x770], edx
jmp 0x413223
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x413156
sub ecx, edx
lea eax, [ebp - 0x76c]
sar ecx, 1
push 0x80
push eax
lea eax, [ebp - 0x770]
lea ebx, [ecx + 1]
lea esi, [ebx*4]
mov dword [ebp - 0x6cc], ebx
push esi
push eax
call fcn.00410080
add esp, 0x10
push 0
push 0
push esi
push dword [ebp - 0x770]
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push ebx
push edi
push 0
push 3
call esi
xor ebx, ebx
test eax, eax
sete bl
test eax, eax
jne 0x413212
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x413212
mov ebx, dword [ebp - 0x6cc]
push 0
push 0
push 0
push 0
push ebx
push edi
push 0
push 3
call esi
mov esi, eax
lea eax, [ebp - 0x76c]
push 0x80
push eax
lea eax, [ebp - 0x770]
push esi
push eax
call fcn.00410080
add esp, 0x10
push 0
push 0
push esi
push dword [ebp - 0x770]
push ebx
push edi
push 0
push 3
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, eax
neg ebx
sbb ebx, ebx
inc ebx
test ebx, ebx
jne 0x4141de
mov edx, dword [ebp - 0x770]
mov ebx, dword [ebp - 0x3c]
mov ecx, edx
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413243
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xa8]
call fcn.0040ae60
mov eax, dword [ebp - 0x770]
lea ecx, [ebp - 0x76c]
cmp eax, ecx
je 0x413272
push eax
call fcn.004e6211
add esp, 4
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x58]
push str.downloadWeb:
push eax
call fcn.0040feb0
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0xa8]
cmp eax, esi
je 0x4132c5
mov ecx, eax
call fcn.004072a0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0xa8], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x98], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea ecx, [ebp - 0x58]
call fcn.004072a0
call fcn.00410f20
push ebx
mov ecx, eax
call fcn.0040d120
call fcn.00410f20
mov esi, eax
mov dword [ebp - 0x28], 0
push 7
xor eax, eax
mov dword [ebp - 0x24], 7
push str.autorun
lea ecx, [ebp - 0x38]
mov word [ebp - 0x38], ax
call fcn.0040af60
push 0
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
call fcn.0040ccc0
lea ecx, [ebp - 0x38]
mov esi, eax
call fcn.004072f0
test esi, esi
jne 0x41332e
lea eax, [ebp - 0xa8]
push eax
call fcn.0040f850
add esp, 4
mov esi, dword [ebp - 0x6d0]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0xa8]
call fcn.004072a0
lea ecx, [ebp - 0x1c]
call fcn.004072f0
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0049ec90
mov esp, ebp
pop ebp
ret 0x10
push str.ADBlockMaster_tray.log
call fcn.00423f90
add esp, 4
call dword [sym.imp.SHELL32.dll_IsUserAnAdmin]
test eax, eax
jne 0x41343c
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.0042c330
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x41342e
push 0x46
push str.d:jenkins.jenkinsworkspacemgame_adblock_adblockmastertraymain.cpp
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], al
call fcn.0040ae60
push 3
push 0x517100
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
call fcn.0040ae60
push 0x28
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x784]
call fcn.00406920
mov esi, eax
push str.will_adjust_privilege
push esi
call fcn.004059c0
add esp, 8
call fcn.0042c330
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x784]
call fcn.004079f0
lea ecx, [ebp - 0x1c]
call fcn.004072a0
lea ecx, [ebp - 0x38]
call fcn.004072a0
push ebx
call fcn.00423570
add esp, 4
jmp 0x4141c9
call fcn.0042c330
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x4134e2
push 0x46
push str.d:jenkins.jenkinsworkspacemgame_adblock_adblockmastertraymain.cpp
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], al
call fcn.0040ae60
push 3
push 0x517100
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
call fcn.0040ae60
push 0x2e
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x784]
call fcn.00406920
mov esi, eax
push str.run_in_admin
push esi
call fcn.004059c0
add esp, 8
call fcn.0042c330
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x784]
call fcn.004079f0
lea ecx, [ebp - 0x1c]
call fcn.004072a0
lea ecx, [ebp - 0x38]
call fcn.004072a0
push 0
push str.adblockmastertray
lea ecx, [ebp - 0x1d]
call fcn.0040e490
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 8
push eax
mov dword [ebp - 0x3c], 4
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
push 0
push edi
push 0
mov ecx, 0x55b9a8
call fcn.004111b0
call fcn.00410f20
push ebx
mov ecx, eax
call fcn.0040d120
call fcn.0042c330
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x4135f2
push 0x46
push str.d:jenkins.jenkinsworkspacemgame_adblock_adblockmastertraymain.cpp
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], al
call fcn.0040ae60
push 3
push 0x517100
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
call fcn.0040ae60
push 0x37
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x784]
call fcn.00406920
mov esi, eax
push str.cmd:
push esi
call fcn.004059c0
test ebx, ebx
mov ecx, 0x516be4
cmovne ecx, ebx
push ecx
push esi
call fcn.004059c0
add esp, 0x10
call fcn.0042c330
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x784]
call fcn.004079f0
lea ecx, [ebp - 0x1c]
call fcn.004072a0
lea ecx, [ebp - 0x38]
call fcn.004072a0
push 0x34
lea eax, [ebp - 0xdc]
push 0
push eax
call fcn.004e27f0
add esp, 0xc
lea ecx, [ebp - 0xdc]
push reloc.OLEAUT32.dll_SysReAllocString
push str.SOFTWAREADBlockMaster
push 0x5175d4
call fcn.00427f80
push 0x5175f8
push str.http:__s.91toolbox.com_adbk_pidpidtypetypeactionactionappappappverappvermidmidmid2mid2modvermodver
lea eax, [ebp - 0x58]
mov dword [ebp - 0x6d4], 0
push eax
lea ecx, [ebp - 0xdc]
call fcn.00428c90
cmp dword [eax + 0x14], 8
jb 0x41364a
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x6d4]
call fcn.0040dea0
lea ecx, [ebp - 0x58]
call fcn.004072f0
call fcn.00411080
push dword [ebp - 0x6d4]
mov ecx, eax
push str.main
call fcn.00427460
push edi
call fcn.00435670
push 0x84
lea eax, [ebp - 0x160]
push 0
push eax
call fcn.004e27f0
lea eax, [ebp - 0x160]
push eax
call fcn.00430ef0
add esp, 0x14
lea ecx, [ebp - 0x160]
push str.skin
call fcn.0042d780
lea ecx, [ebp - 0x160]
call fcn.00414750
push eax
call fcn.004358f0
push 1
push str.adblocktray.zip
call fcn.004359b0
mov esi, dword [0x55b9e8]
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
test esi, esi
jne 0x413744
push 0x5550fc
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x55b9e8], esi
jne 0x413733
push 0x34
call fcn.0049ecc4
mov esi, eax
add esp, 4
test esi, esi
je 0x413724
push 0x34
push 0
push esi
call fcn.004e27f0
add esp, 0xc
mov ecx, esi
call fcn.0040c930
jmp 0x413726
xor eax, eax
xor edx, edx
lea ecx, [ebp - 0x3c]
lock or dword [ecx], edx
mov dword [0x55b9e8], eax
push 0x5550fc
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [0x55b9e8]
push 4
xor eax, eax
mov dword [ebp - 0xc], 0
push 0x51820c
lea ecx, [ebp - 0x1c]
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.0040af60
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0040ccb0
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x4137b0
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4137a6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4141fd
push edx
push ecx
call fcn.0049e9da
add esp, 8
mov eax, dword [ebp - 0x24]
lea edi, [ebp - 0x38]
cmp eax, 8
cmovae edi, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 4
jne 0x4137f9
movzx ecx, word [edi]
mov esi, 0x74
mov edx, 4
mov eax, str.task
cmp ecx, esi
jb 0x4137f6
sub edi, eax
cmp cx, si
ja 0x4137f6
cmp edx, 1
je 0x413855
movzx ecx, word [edi + eax + 2]
add eax, 2
dec edx
movzx esi, word [eax]
cmp cx, si
jae 0x4137de
mov eax, dword [ebp - 0x24]
cmp eax, 8
lea edi, [ebp - 0x38]
cmovae edi, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 3
jne 0x41383c
movzx ecx, word [edi]
mov esi, 0x73
mov edx, 3
mov eax, 0x518224
cmp ecx, esi
jb 0x41383c
sub edi, eax
cmp cx, si
ja 0x41383c
cmp edx, 1
je 0x413855
movzx ecx, word [edi + eax + 2]
add eax, 2
dec edx
movzx esi, word [eax]
cmp cx, si
jae 0x413824
lea eax, [ebp - 0x38]
push 0x51822c
push eax
call fcn.0040fe40
add esp, 8
test al, al
je 0x4139b0
mov ecx, dword [0x55b9ec]
test ecx, ecx
jne 0x4138b0
push 0x555118
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x55b9ec], 0
jne 0x41389f
push 4
call fcn.0049ecc4
add esp, 4
test eax, eax
je 0x413890
mov ecx, eax
mov dword [eax], 0
call fcn.0040d4d0
jmp 0x413892
xor eax, eax
xor edx, edx
lea ecx, [ebp - 0x3c]
lock or dword [ecx], edx
mov dword [0x55b9ec], eax
push 0x555118
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x55b9ec]
call fcn.0040d680
test eax, eax
jne 0x4139b0
call fcn.0042c330
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x413975
push 0x46
push str.d:jenkins.jenkinsworkspacemgame_adblock_adblockmastertraymain.cpp
lea ecx, [ebp - 0x6ec]
mov dword [ebp - 0x6dc], eax
mov dword [ebp - 0x6d8], 0xf
mov byte [ebp - 0x6ec], al
call fcn.0040ae60
push 3
push 0x517100
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
call fcn.0040ae60
push 0x54
lea eax, [ebp - 0x6ec]
push eax
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x784]
call fcn.00406920
mov esi, eax
push str.user_do_not_autorun__exit
push esi
call fcn.004059c0
add esp, 8
call fcn.0042c330
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x784]
call fcn.004079f0
lea ecx, [ebp - 0x1c]
call fcn.004072a0
lea ecx, [ebp - 0x6ec]
call fcn.004072a0
call fcn.00411080
sub esp, 0x28
mov ecx, esp
push 0
push str.autoitem
push 1
push 0
mov dword [ecx + 0x24], 0
mov ecx, eax
push str.autooff
call fcn.00427710
lea ecx, [ebp - 0x38]
call fcn.004072f0
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x41409c
push ebx
call fcn.004236e0
add esp, 4
test eax, eax
jne 0x413a8c
call fcn.0042c330
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x413a79
push 0x46
push str.d:jenkins.jenkinsworkspacemgame_adblock_adblockmastertraymain.cpp
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], al
call fcn.0040ae60
push 3
push 0x517100
lea ecx, [ebp - 0x6ec]
mov dword [ebp - 0x6dc], 0
mov dword [ebp - 0x6d8], 0xf
mov byte [ebp - 0x6ec], 0
call fcn.0040ae60
push 0x5b
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x6ec]
push eax
lea ecx, [ebp - 0x784]
call fcn.00406920
mov esi, eax
push str.CheckEnableAutoRun_False__exit
push esi
call fcn.004059c0
add esp, 8
call fcn.0042c330
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x784]
call fcn.004079f0
lea ecx, [ebp - 0x6ec]
call fcn.004072a0
lea ecx, [ebp - 0x1c]
call fcn.004072a0
lea ecx, [ebp - 0x38]
call fcn.004072f0
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x41409c
call fcn.00410fd0
mov ecx, eax
call fcn.00422a90
test eax, eax
je 0x413d62
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.00410f20
mov esi, eax
mov dword [ebp - 0xc], 0
push 4
xor eax, eax
mov dword [ebp - 8], 7
push 0x51820c
lea ecx, [ebp - 0x1c]
mov word [ebp - 0x1c], ax
call fcn.0040af60
lea eax, [ebp - 0x58]
mov ecx, esi
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0040ccb0
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x413b27
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x413b1d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414202
push edx
push ecx
call fcn.0049e9da
add esp, 8
xor eax, eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 7
mov word [ebp - 0x1c], ax
call fcn.00410f20
lea ecx, [ebp - 0x6ec]
push ecx
mov ecx, eax
call fcn.0040cc90
mov esi, eax
cmp dword [esi + 0x14], 8
jb 0x413b58
mov esi, dword [esi]
call fcn.00405230
mov ecx, eax
test ecx, ecx
je 0x414207
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x6cc]
push esi
mov dword [ebp - 0x6cc], eax
call fcn.00404e00
test al, al
jne 0x413b91
push esi
lea ecx, [ebp - 0x6cc]
call fcn.00404930
mov edx, dword [ebp - 0x6d8]
cmp edx, 8
jb 0x413bd1
mov ecx, dword [ebp - 0x6ec]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x413bc7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414211
push edx
push ecx
call fcn.0049e9da
add esp, 8
xor eax, eax
mov dword [ebp - 0x6dc], 0
mov dword [ebp - 0x6d8], 7
mov word [ebp - 0x6ec], ax
call fcn.00410fd0
mov esi, dword [ebp - 0x6cc]
mov edi, eax
cmp dword [esi - 4], 1
jle 0x413c15
push dword [esi - 0xc]
lea ecx, [ebp - 0x6cc]
call fcn.004050b0
mov esi, dword [ebp - 0x6cc]
push esi
mov ecx, edi
call fcn.00422f90
call fcn.00410fd0
mov ecx, eax
call fcn.00422ca0
test eax, eax
setne bl
or edi, 0xffffffff
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x413c48
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x413c82
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x413c78
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414211
push edx
push ecx
call fcn.0049e9da
add esp, 8
test bl, bl
je 0x413d62
call fcn.0042c330
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x413d42
push 0x46
push str.d:jenkins.jenkinsworkspacemgame_adblock_adblockmastertraymain.cpp
lea ecx, [ebp - 0x6ec]
mov dword [ebp - 0x6dc], eax
mov dword [ebp - 0x6d8], 0xf
mov byte [ebp - 0x6ec], al
call fcn.0040ae60
push 3
push 0x517100
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.0040ae60
push 0x61
lea eax, [ebp - 0x6ec]
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x784]
call fcn.00406920
mov esi, eax
push str.update__exit
push esi
call fcn.004059c0
add esp, 8
call fcn.0042c330
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x784]
call fcn.004079f0
lea ecx, [ebp - 0x58]
call fcn.004072a0
lea ecx, [ebp - 0x6ec]
call fcn.004072a0
mov esi, dword [ebp - 0x6d0]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x38]
call fcn.004072f0
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x4140a5
mov ebx, dword [0x55b2d4]
xorps xmm0, xmm0
add ebx, 0x10
movlpd qword [ebp - 0x74], xmm0
push ebx
movlpd qword [ebp - 0x6c], xmm0
movlpd qword [ebp - 0x64], xmm0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x90], 0x517f20
movups xmmword [ebp - 0x8c], xmm0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [0x55b9dc]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [esi + 8]
xor edx, edx
add ecx, 1
mov edi, eax
push 4
setb dl
neg edx
or edx, ecx
push edx
push dword [esi]
call fcn.004e97e5
add esp, 0xc
test eax, eax
je 0x413e22
mov dword [esi], eax
xor ecx, ecx
mov eax, dword [esi + 8]
add eax, 1
push 4
setb cl
neg ecx
or ecx, eax
push ecx
push dword [esi + 4]
call fcn.004e97e5
add esp, 0xc
test eax, eax
je 0x413e22
mov ecx, dword [esi + 8]
mov dword [esi + 4], eax
lea edx, [ecx*4]
mov ecx, dword [esi]
add ecx, edx
je 0x413e13
mov dword [ecx], edi
mov eax, dword [esi + 4]
add eax, edx
je 0x413e1f
lea ecx, [ebp - 0x90]
mov dword [eax], ecx
inc dword [esi + 8]
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x568
lea eax, [ebp - 0x6c8]
push 0
push eax
call fcn.004e27f0
add esp, 0xc
lea ecx, [ebp - 0x6c8]
call fcn.0041b210
lea ecx, [ebp - 0x6c8]
call fcn.0041bdf0
mov edi, dword [sym.imp.USER32.dll_PeekMessageW]
mov ebx, 1
xor esi, esi
test ebx, ebx
je 0x413e91
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x74]
push eax
call edi
test eax, eax
jne 0x413e91
mov eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x90]
push esi
inc esi
mov edx, dword [eax + 4]
call edx
test eax, eax
jne 0x413e66
xor ebx, ebx
push 0
push 0
push 0
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
cmp eax, 0xffffffff
je 0x413e62
test eax, eax
je 0x413f18
mov eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x74]
push ecx
lea ecx, [ebp - 0x90]
call dword [eax]
test eax, eax
jne 0x413ed4
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
mov eax, dword [ebp - 0x70]
cmp eax, 0x118
ja 0x413eec
je 0x413f08
cmp eax, 0xf
je 0x413f08
cmp eax, 0xa0
jmp 0x413ef1
cmp eax, 0x200
je 0x413f08
mov ecx, 1
xor eax, eax
test ecx, ecx
mov ebx, ecx
cmove eax, esi
mov esi, eax
jmp 0x413e62
xor ecx, ecx
xor eax, eax
test ecx, ecx
cmove eax, esi
mov esi, eax
jmp 0x413e62
mov eax, dword [0x55b2d4]
add eax, 0x10
push eax
mov dword [ebp - 0x3c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [0x55b9dc]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edx, dword [edi + 8]
xor esi, esi
test edx, edx
jle 0x413ff6
mov ebx, dword [edi]
mov ecx, ebx
cmp dword [ecx], eax
je 0x413f58
inc esi
add ecx, 4
cmp esi, edx
jl 0x413f47
jmp 0x413ff6
cmp esi, 0xffffffff
je 0x413ff6
test esi, esi
js 0x413ff6
cmp esi, edx
jge 0x413ff6
lea eax, [edx - 1]
cmp esi, eax
je 0x413fb2
sub edx, esi
lea ecx, [ebx + esi*4]
shl edx, 2
lea eax, [edx - 4]
push eax
lea eax, [ecx + 4]
push eax
push edx
push ecx
call fcn.00413020
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
sub edx, esi
shl edx, 2
lea ecx, [eax + esi*4]
lea eax, [edx - 4]
push eax
lea eax, [ecx + 4]
push eax
push edx
push ecx
call fcn.00413020
mov edx, dword [edi + 8]
add esp, 0x20
push 4
lea eax, [edx - 1]
push eax
push dword [edi]
call fcn.004e97e5
mov ecx, eax
add esp, 0xc
mov eax, dword [edi + 8]
test ecx, ecx
jne 0x413fd0
cmp eax, 1
jne 0x413fd2
mov dword [edi], ecx
push 4
dec eax
push eax
push dword [edi + 4]
call fcn.004e97e5
mov ecx, eax
add esp, 0xc
mov eax, dword [edi + 8]
test ecx, ecx
jne 0x413fef
cmp eax, 1
jne 0x413ff2
mov dword [edi + 4], ecx
dec eax
mov dword [edi + 8], eax
push dword [ebp - 0x3c]
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call ebx
lea ecx, [ebp - 0x6c8]
call fcn.0041b720
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x414023
push eax
call fcn.004e6211
add esp, 4
mov dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
test eax, eax
je 0x41404e
push eax
call fcn.004e6211
add esp, 4
mov dword [ebp - 0x8c], 0
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
cmp edx, 8
jb 0x41409c
mov ecx, dword [ebp - 0x38]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x414092
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414216
push edx
push ecx
call fcn.0049e9da
add esp, 8
mov esi, dword [ebp - 0x6d0]
or edi, 0xffffffff
cmp dword [0x55b9e8], 0
je 0x4140da
push 0x5550fc
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [0x55b9e8]
test ecx, ecx
je 0x4140d3
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [0x55b9e8], 0
push 0x5550fc
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x160]
call fcn.00419500
mov edx, dword [ebp - 0x6d4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x414107
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xb0]
cmp edx, 8
jb 0x414147
mov ecx, dword [ebp - 0xc4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41413d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41421b
push edx
push ecx
call fcn.0049e9da
add esp, 8
mov edx, dword [ebp - 0xc8]
xor eax, eax
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 7
mov word [ebp - 0xc4], ax
cmp edx, 8
jb 0x4141a4
mov ecx, dword [ebp - 0xdc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41419a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41421b
push edx
push ecx
call fcn.0049e9da
add esp, 8
xor eax, eax
mov dword [ebp - 0xcc], 0
lea ecx, [ebp - 0x1d]
mov dword [ebp - 0xc8], 7
mov word [ebp - 0xdc], ax
call fcn.00405900
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0049ec90
mov esp, ebp
pop ebp
ret 0x10
push 0x80
lea eax, [ebp - 0x76c]
push eax
push dword [ebp - 0x770]
call fcn.00410100
add esp, 0xc
call fcn.00410b40
call fcn.004e5b99
call fcn.004e5b99
push 0x80004005
call fcn.00404de0
call fcn.004e5b99
call fcn.004e5b99
call fcn.004e5b99
int3