Function at 0x40ba9a
Capabilities:
Terminate process

Disassembly:
mov eax, 0x4271b2
call fcn.0041ba64
sub esp, 0x188
mov eax, dword [0x42c300]
push ebx
push esi
push edi
push 0x4070dd
mov dword [ebp - 0x10], eax
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
push dword [ebp + 8]
lea ecx, [ebp - 0x16c]
call fcn.00408738
xor ebx, ebx
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x16c]
call fcn.00410ccd
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
mov dword [0x42cfd4], eax
call fcn.0041604b
lea ecx, [ebp - 0x16c]
mov esi, 0x80004005
call fcn.00411d5e
cmp dword [ebp - 0x154], ebx
mov ecx, dword [ebp - 0x150]
setne al
push eax
call fcn.0040b8a7
cmp eax, ebx
mov dword [ebp - 0x124], eax
jl 0x40c0fe
push ebx
push dword [ebp + 8]
mov ecx, 0x42cf54
push ebx
call fcn.004070f9
call fcn.00410e33
push eax
push 0x42d554
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
mov eax, dword [ebp - 0x134]
cmp dword [eax - 0xc], ebx
je 0x40bc9d
push eax
lea ecx, [ebp - 0x16c]
call fcn.00412478
mov esi, eax
cmp esi, ebx
jge 0x40c0fb
call fcn.00414e14
test al, al
je 0x40c0fb
cmp esi, 0x80046900
jne 0x40bbdf
mov dword [ebp - 0x118], ebx
mov byte [ebp - 4], 1
mov dword [ebp + 8], ebx
mov byte [ebp - 4], 2
lea eax, [ebp - 0x118]
push eax
push 0x2791
call fcn.00410cb6
test eax, eax
jl 0x40bbc2
lea eax, [ebp + 8]
push eax
push 0x2777
call fcn.00410cb6
test eax, eax
jl 0x40bbc2
push dword [ebp + 8]
push dword [ebp - 0x118]
call fcn.00410d15
mov byte [ebp - 4], 1
push dword [ebp + 8]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
mov byte [ebp - 4], bl
push dword [ebp - 0x118]
jmp 0x40bc96
mov dword [ebp - 0x11c], ebx
mov byte [ebp - 4], 3
mov dword [ebp - 0x118], ebx
mov byte [ebp - 4], 4
lea eax, [ebp - 0x11c]
push eax
push 0x2790
call fcn.00410cb6
test eax, eax
jl 0x40bc7b
lea eax, [ebp - 0x118]
push eax
push 0x2777
call fcn.00410cb6
test eax, eax
jl 0x40bc7b
push esi
lea eax, [ebp - 0x120]
push eax
call fcn.004113ea
mov byte [ebp - 4], 5
lea ecx, [ebp + 8]
call fcn.0040863a
mov byte [ebp - 4], 6
push dword [ebp - 0x120]
lea eax, [ebp + 8]
push dword [ebp - 0x11c]
push eax
call fcn.0040b595
add esp, 0xc
push dword [ebp - 0x118]
push dword [ebp + 8]
call fcn.00410d15
mov byte [ebp - 4], 5
lea ecx, [ebp + 8]
call fcn.004082c9
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x120]
call fcn.004082c9
mov byte [ebp - 4], 3
push dword [ebp - 0x118]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
mov byte [ebp - 4], bl
push dword [ebp - 0x11c]
call esi
jmp 0x40c0fb
cmp dword [ebp - 0x154], ebx
je 0x40bd95
lea ecx, [ebp - 0x178]
call fcn.0040ee91
mov byte [ebp - 4], 7
push dword [ebp - 0x144]
lea ecx, [ebp - 0x178]
push dword [ebp - 0x164]
push dword [ebp - 0x160]
push dword [ebp - 0x168]
push dword [ebp - 0x16c]
push dword [ebp - 0x154]
call fcn.0040f4ff
mov esi, eax
cmp esi, ebx
je 0x40bd82
cmp esi, 0x80040001
jne 0x40bd00
xor esi, esi
jmp 0x40bd82
mov eax, 0x800400b1
cmp esi, eax
mov ecx, 0x80040110
je 0x40bd16
cmp esi, ecx
mov byte [ebp + 0xb], 1
jne 0x40bd19
mov byte [ebp + 0xb], bl
cmp dword [ebp - 0x154], 1
je 0x40bd60
cmp esi, eax
je 0x40bd60
cmp esi, ecx
je 0x40bd60
cmp esi, 0x80046902
je 0x40bd60
cmp esi, 1
je 0x40bd60
cmp esi, 0x400b0
je 0x40bd60
push esi
lea ecx, [ebp - 0x16c]
call fcn.00411966
mov edi, eax
cmp edi, 1
jne 0x40bd58
push esi
call fcn.0040b690
cmp edi, ebx
setne byte [ebp + 0xb]
jmp 0x40bd66
push esi
call fcn.0040b690
cmp byte [ebp + 0xb], bl
je 0x40bd7f
cmp dword [ebp - 0x160], ebx
je 0x40bd7f
push dword [ebp - 0x160]
call dword [sym.imp.KERNEL32.dll_SetEvent]
xor esi, esi
inc esi
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x178]
call fcn.0040eed9
jmp 0x40c0fe
cmp byte [ebp - 0x15a], bl
jne 0x40c00b
cmp byte [ebp - 0x159], bl
jne 0x40c00b
cmp byte [ebp - 0x158], bl
jne 0x40bfaa
cmp byte [ebp - 0x157], bl
jne 0x40bfaa
cmp byte [ebp - 0x149], bl
je 0x40bdf1
push dword [ebp - 0x13c]
mov esi, 0x402678
push dword [ebp - 0x140]
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0040fec4
jmp 0x40c0fb
cmp byte [ebp - 0x148], bl
je 0x40be17
push dword [ebp - 0x140]
mov esi, 0x402678
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0041000b
jmp 0x40c0fb
mov eax, dword [ebp - 0x150]
cmp eax, ebx
je 0x40bf41
dec eax
je 0x40be63
dec eax
je 0x40be5c
dec eax
je 0x40be50
dec eax
je 0x40be49
dec eax
je 0x40be42
dec eax
jne 0x40c0fe
call fcn.00407f79
jmp 0x40be55
call fcn.00407e79
jmp 0x40be55
call fcn.00407ef9
jmp 0x40be55
call fcn.00407df9
mov esi, eax
jmp 0x40bf32
call fcn.00407d79
jmp 0x40be55
mov dword [ebp - 0x118], ebx
mov byte [ebp - 4], 8
lea eax, [ebp - 0x118]
push eax
push 0x2794
call fcn.00410cb6
test eax, eax
jl 0x40bf23
lea ecx, [ebp + 8]
call fcn.004069b2
mov byte [ebp - 4], 9
lea eax, [ebp + 8]
push eax
push ebx
call fcn.00415562
test eax, eax
jl 0x40bea8
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc], ebx
jne 0x40beb5
push 0x401c28
lea ecx, [ebp + 8]
call fcn.004090a6
lea ecx, [ebp - 0x11c]
call fcn.0040863a
mov byte [ebp - 4], 0xa
push dword [ebp + 8]
lea ecx, [ebp - 0x120]
call fcn.0040b5da
mov byte [ebp - 4], 0xb
push dword [eax]
lea eax, [ebp - 0x11c]
push dword [ebp - 0x118]
push eax
call fcn.0040b595
add esp, 0xc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x120]
call fcn.004082c9
push ebx
push dword [ebp - 0x11c]
call fcn.00410d15
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x11c]
call fcn.004082c9
mov byte [ebp - 4], 8
lea ecx, [ebp + 8]
call fcn.004069e8
mov byte [ebp - 4], bl
push dword [ebp - 0x118]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp esi, ebx
jl 0x40c0fe
xor esi, esi
jmp 0x40c0fe
cmp byte [ebp - 0x14a], bl
jne 0x40bf61
cmp byte [ebp - 0x14b], bl
jne 0x40bf61
lea ecx, [ebp - 0x16c]
call fcn.00410ebf
jmp 0x40c0fb
push 0x104
lea eax, [ebp - 0x114]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x40c0fe
movzx eax, byte [ebp - 0x14b]
push eax
push 1
push 0x2774
lea eax, [ebp - 0x114]
push eax
push 0x42cf84
lea ecx, [ebp - 0x16c]
mov byte [ebp - 0x11], bl
call fcn.00410fef
jmp 0x40c0fe
push 0x104
lea eax, [ebp - 0x114]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x40c0fb
mov byte [ebp - 0x11], bl
call fcn.004136b1
cmp eax, 3
je 0x40bfde
cmp byte [ebp - 0x157], bl
jne 0x40bfde
xor eax, eax
jmp 0x40bfe1
xor eax, eax
inc eax
push eax
movzx eax, byte [ebp - 0x158]
push eax
push 0x2774
lea eax, [ebp - 0x114]
push eax
push 0x42cf84
lea ecx, [ebp - 0x16c]
call fcn.00410fef
jmp 0x40c0fb
push 0x104
lea eax, [ebp - 0x114]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x40c0fe
mov byte [ebp - 0x11], bl
call fcn.004136b1
cmp eax, 3
sete al
movzx eax, al
push eax
movzx eax, byte [ebp - 0x15a]
push eax
push 0x2774
lea eax, [ebp - 0x114]
push eax
mov esi, 0x42cf84
push esi
lea ecx, [ebp - 0x16c]
call fcn.00410fef
movzx eax, byte [ebp - 0x15a]
push eax
push ebx
push ebx
lea eax, [ebp - 0x114]
push eax
push esi
push 0x4026f8
call fcn.00411483
test eax, eax
jl 0x40c099
movzx eax, byte [ebp - 0x15a]
push eax
push ebx
push ebx
lea eax, [ebp - 0x114]
push eax
push esi
push 0x4026c8
call fcn.00411483
movzx eax, byte [ebp - 0x15a]
push eax
push ebx
push ebx
lea eax, [ebp - 0x114]
push eax
push esi
push 0x402eb8
call fcn.00411483
movzx eax, byte [ebp - 0x15a]
push eax
push 0x401c18
push 0x401c08
lea eax, [ebp - 0x114]
push eax
push esi
push 0x402768
call fcn.00411483
movzx eax, byte [ebp - 0x15a]
push eax
push ebx
push ebx
lea eax, [ebp - 0x114]
push eax
push esi
push 0x402ec8
call fcn.00411483
mov esi, eax
cmp esi, ebx
jne 0x40c0fe
xor esi, esi
inc esi
xor edi, edi
cmp esi, ebx
je 0x40c112
cmp esi, 1
jne 0x40c172
call fcn.00416035
test eax, eax
jbe 0x40c172
push ebx
push ebx
push ebx
lea eax, [ebp - 0x194]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
cmp byte [0x42cfd0], bl
je 0x40c147
cmp dword [ebp - 0x190], 0x590
jne 0x40c150
call fcn.00416035
test eax, eax
je 0x40c16c
mov byte [0x42cfd0], bl
jmp 0x40c150
cmp dword [ebp - 0x190], 0x12
je 0x40c16c
lea eax, [ebp - 0x194]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x194]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x40c112
mov edi, dword [ebp - 0x18c]
call fcn.00407242
call fcn.004071ad
call fcn.004072d7
call fcn.0040736c
call fcn.00407441
mov eax, dword [0x42cf14]
cmp eax, ebx
je 0x40c19c
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov eax, dword [0x42cf24]
cmp eax, ebx
je 0x40c1ba
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [0x42cf24]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0x42cf54
call fcn.00407d27
cmp dword [ebp - 0x124], ebx
jl 0x40c1d4
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x40c1da
mov edi, dword [ebp - 0x124]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x16c]
call fcn.00408802
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
mov eax, edi
call fcn.0041b4ee
pop edi
pop esi
pop ebx
leave
ret 0x10