Function at 0x10031eee
Capabilities:
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x21c
mov eax, dword [0x1009d7a8]
xor eax, esp
mov dword [esp + 0x218], eax
push ebx
push esi
push edi
lea ecx, [esp + 0x18]
call fcn.10031739
cmp dword [esp + 0x18], 0
je 0x10031f38
push ecx
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
push eax
call fcn.100120a3
call fcn.100321db
test eax, eax
jne 0x100321b9
mov eax, 0x1009dd00
lock bts dword [eax], 0
setb al
movzx eax, al
test eax, eax
je 0x10031f59
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x100321b9
xor ebx, ebx
lea eax, [esp + 0x10]
push ebx
push eax
push 0x65
push dword [0x1009dd30]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
call dword [sym.imp.USER32.dll_LoadStringW]
mov esi, eax
test esi, esi
jne 0x10031fb7
mov eax, dword [section..data]
cmp eax, section..data
je 0x10031fac
test byte [eax + 0x1c], 1
je 0x10031fac
cmp byte [eax + 0x19], 2
jb 0x10031fac
push dword [eax + 0x14]
mov edx, 0x1000dbe4
push dword [eax + 0x10]
push 0x18
pop ecx
call fcn.100122b8
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x100321b9
lea eax, [esp + 0x14]
push eax
push dword [0x1009dd30]
lea ecx, [esp + 0x128]
call fcn.10031aaf
test eax, eax
jns 0x10032011
mov ecx, dword [section..data]
cmp ecx, section..data
je 0x100321b9
test byte [ecx + 0x1c], 1
je 0x100321b9
cmp byte [ecx + 0x19], 2
jb 0x100321b9
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
push 0x19
mov edx, 0x1000dbe4
pop ecx
call fcn.1000f749
jmp 0x100321b9
lea eax, [esp + 0xc]
push eax
push ebx
lea ecx, [esp + 0x28]
call fcn.10031aaf
test eax, eax
jns 0x10032055
mov ecx, dword [section..data]
cmp ecx, section..data
je 0x100321b9
test byte [ecx + 0x1c], 1
je 0x100321b9
cmp byte [ecx + 0x19], 2
jb 0x100321b9
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
push 0x1a
jmp 0x10032001
mov edi, dword [esp + 0xc]
xor ecx, ecx
push 0x10004e6c
add edi, esi
push 2
pop edx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10093e02
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x100320ba
mov eax, dword [section..data]
cmp eax, section..data
je 0x100321b9
test byte [eax + 0x1c], 1
je 0x100321b9
cmp byte [eax + 0x19], 2
jb 0x100321b9
push dword [eax + 0x14]
mov edx, 0x1000dbe4
push dword [eax + 0x10]
push 0x1b
pop ecx
call fcn.100122b8
jmp 0x100321b9
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x14]
push edi
push esi
call fcn.100322b3
add esp, 0x10
lea eax, [esp + 0x120]
push 0x12031
push eax
push esi
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
sub eax, ebx
je 0x10032174
sub eax, 1
je 0x10032152
sub eax, 1
je 0x10032130
mov eax, dword [section..data]
cmp eax, section..data
je 0x100321b1
test byte [eax + 0x1c], 1
je 0x100321b1
cmp byte [eax + 0x19], 2
jb 0x100321b1
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1f
mov edx, 0x1000dbe4
pop ecx
call fcn.100122b8
jmp 0x100321b1
mov eax, dword [section..data]
cmp eax, section..data
je 0x100321b1
test byte [eax + 0x1c], 1
je 0x100321b1
cmp byte [eax + 0x19], 2
jb 0x100321b1
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1d
jmp 0x10032120
mov eax, dword [section..data]
cmp eax, section..data
je 0x1003219f
test byte [eax + 0x1c], 1
je 0x1003219f
cmp byte [eax + 0x19], 2
jb 0x1003219f
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1c
jmp 0x10032194
mov eax, dword [section..data]
cmp eax, section..data
je 0x1003219f
test byte [eax + 0x1c], 1
je 0x1003219f
cmp byte [eax + 0x19], 2
jb 0x1003219f
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1e
mov edx, 0x1000dbe4
pop ecx
call fcn.100122b8
push 0x15f
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
pop ecx
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x100321c6
call fcn.10012278
mov ecx, dword [esp + 0x224]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10093c10
mov esp, ebp
pop ebp
ret