Function at 0x10031ebc
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.10031703
cmp dword [esp + 0x18], 0
je 0x10031f06
push ecx
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
push eax
call fcn.100120a3
call fcn.100321a9
test eax, eax
jne 0x10032187
mov eax, 0x1009dd00
lock bts dword [eax], 0
setb al
movzx eax, al
test eax, eax
je 0x10031f27
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x10032187
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 0x10031f85
mov eax, dword [section..data]
cmp eax, section..data
je 0x10031f7a
test byte [eax + 0x1c], 1
je 0x10031f7a
cmp byte [eax + 0x19], 2
jb 0x10031f7a
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 0x10032187
lea eax, [esp + 0x14]
push eax
push dword [0x1009dd30]
lea ecx, [esp + 0x128]
call fcn.10031a7d
test eax, eax
jns 0x10031fdf
mov ecx, dword [section..data]
cmp ecx, section..data
je 0x10032187
test byte [ecx + 0x1c], 1
je 0x10032187
cmp byte [ecx + 0x19], 2
jb 0x10032187
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
push 0x19
mov edx, 0x1000dbe4
pop ecx
call fcn.1000f74e
jmp 0x10032187
lea eax, [esp + 0xc]
push eax
push ebx
lea ecx, [esp + 0x28]
call fcn.10031a7d
test eax, eax
jns 0x10032023
mov ecx, dword [section..data]
cmp ecx, section..data
je 0x10032187
test byte [ecx + 0x1c], 1
je 0x10032187
cmp byte [ecx + 0x19], 2
jb 0x10032187
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
push 0x1a
jmp 0x10031fcf
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.10093fa2
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x10032088
mov eax, dword [section..data]
cmp eax, section..data
je 0x10032187
test byte [eax + 0x1c], 1
je 0x10032187
cmp byte [eax + 0x19], 2
jb 0x10032187
push dword [eax + 0x14]
mov edx, 0x1000dbe4
push dword [eax + 0x10]
push 0x1b
pop ecx
call fcn.100122b8
jmp 0x10032187
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x14]
push edi
push esi
call fcn.10032281
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 0x10032142
sub eax, 1
je 0x10032120
sub eax, 1
je 0x100320fe
mov eax, dword [section..data]
cmp eax, section..data
je 0x1003217f
test byte [eax + 0x1c], 1
je 0x1003217f
cmp byte [eax + 0x19], 2
jb 0x1003217f
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1f
mov edx, 0x1000dbe4
pop ecx
call fcn.100122b8
jmp 0x1003217f
mov eax, dword [section..data]
cmp eax, section..data
je 0x1003217f
test byte [eax + 0x1c], 1
je 0x1003217f
cmp byte [eax + 0x19], 2
jb 0x1003217f
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1d
jmp 0x100320ee
mov eax, dword [section..data]
cmp eax, section..data
je 0x1003216d
test byte [eax + 0x1c], 1
je 0x1003216d
cmp byte [eax + 0x19], 2
jb 0x1003216d
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1c
jmp 0x10032162
mov eax, dword [section..data]
cmp eax, section..data
je 0x1003216d
test byte [eax + 0x1c], 1
je 0x1003216d
cmp byte [eax + 0x19], 2
jb 0x1003216d
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 0x10032194
call fcn.10012278
mov ecx, dword [esp + 0x224]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10093db0
mov esp, ebp
pop ebp
ret