Function at 0x10007100
Capabilities:
Resume thread

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
sub esp, 0x438
mov eax, dword [0x10036040]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x104
lea eax, [ebp - 0x428]
mov dword [ebp - 0x434], 0
push 0
push eax
call fcn.1000ea10
add esp, 0xc
lea eax, [ebp - 0x320]
xor esi, esi
push 0x104
push esi
push eax
call fcn.1000ea10
add esp, 0xc
lea edx, [ebp - 0x320]
call fcn.1000a060
mov dword [ebp - 0x430], eax
cmp eax, 0xffffffff
je 0x10007541
cmp byte [ebp - 0x320], 0
je 0x10007541
mov eax, dword [str.mwwqr_0z]
mov dword [ebp - 0x42c], esi
test eax, eax
je 0x100072b4
mov edi, 0x10031fe0
nop
push 0x104
lea eax, [ebp - 0x110]
push 0
push eax
call fcn.1000ea10
mov esi, dword [edi]
lea ecx, [ebp - 0x110]
mov eax, ecx
add esp, 0xc
mov edx, 0x104
sub esi, eax
nop word [eax + eax]
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x100071e9
mov al, byte [esi + ecx]
test al, al
je 0x100071e9
mov byte [ecx], al
inc ecx
sub edx, 1
jne 0x100071d0
test edx, edx
lea eax, [ecx - 1]
lea edx, [ebp - 0x110]
cmovne eax, ecx
lea ecx, [edx + 1]
mov byte [eax], 0
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10007200
sub edx, ecx
lea ecx, [ebp - 0x110]
call fcn.10009c80
push ecx
push 0x20
push dword [ebp - 0x430]
lea edx, [ebp - 0x320]
lea ecx, [ebp - 0x110]
call fcn.100096d0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1000728d
push 0x104
lea eax, [ebp - 0x218]
mov dword [0x1003cd74], esi
push 0
push eax
call fcn.1000ea10
add esp, 0xc
lea eax, [ebp - 0x218]
push dword [0x10031fb0]
push 0x1003cda0
push 0x10031f40
push 0x104
push eax
call fcn.10001250
add esp, 0x14
lea edx, [ebp - 0x218]
mov ecx, esi
call fcn.10009eb0
cmp eax, 1
je 0x10007388
mov eax, dword [ebp - 0x42c]
inc eax
cmp dword [eax*4 + 0x10031fe0], 0
mov dword [ebp - 0x42c], eax
lea edi, [eax*4 + 0x10031fe0]
jne 0x100071a0
mov eax, dword [str.mwwqr_0z]
xor edi, edi
test eax, eax
je 0x10007525
mov esi, 0x10031fe0
push 0x104
lea eax, [ebp - 0x110]
push 0
push eax
call fcn.1000ea10
mov esi, dword [esi]
lea eax, [ebp - 0x110]
mov ecx, eax
add esp, 0xc
mov edx, 0x104
sub esi, ecx
nop word [eax + eax]
lea ecx, [edx + 0x7ffffefa]
test ecx, ecx
je 0x10007309
mov cl, byte [esi + eax]
test cl, cl
je 0x10007309
mov byte [eax], cl
inc eax
sub edx, 1
jne 0x100072f0
test edx, edx
lea ecx, [eax - 1]
lea edx, [ebp - 0x110]
cmovne ecx, eax
mov byte [ecx], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10007320
sub edx, ecx
lea ecx, [ebp - 0x110]
call fcn.10009c80
push ecx
push 0x40
push dword [ebp - 0x430]
lea edx, [ebp - 0x320]
lea ecx, [ebp - 0x110]
call fcn.100096d0
add esp, 0xc
mov dword [ebp - 0x42c], eax
test eax, eax
jne 0x1000739d
inc edi
cmp dword [edi*4 + 0x10031fe0], eax
lea esi, [edi*4 + 0x10031fe0]
jne 0x100072c3
mov eax, 0xfffffffe
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000d0c5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000d0c5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x104
mov dword [0x1003cd74], eax
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.1000ea10
mov esi, dword [str.gqqqmvx1_fz]
lea ecx, [ebp - 0x218]
mov eax, ecx
add esp, 0xc
mov edx, 0x104
sub esi, eax
nop dword [eax]
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x100073e9
mov al, byte [esi + ecx]
test al, al
je 0x100073e9
mov byte [ecx], al
inc ecx
sub edx, 1
jne 0x100073d0
test edx, edx
lea eax, [ecx - 1]
lea edx, [ebp - 0x218]
cmovne eax, ecx
lea ecx, [edx + 1]
mov byte [eax], 0
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10007400
sub edx, ecx
lea ecx, [ebp - 0x218]
call fcn.10009c80
push dword [ebp - 0x42c]
lea eax, [ebp - 0x218]
push eax
push 0x1003cc70
push str._s_s__d
lea eax, [ebp - 0x428]
push 0x104
push eax
call fcn.10001250
lea eax, [ebp - 0x430]
mov dword [ebp - 0x42c], 0xffffffff
push eax
lea edx, [ebp - 0x42c]
mov dword [ebp - 0x430], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.1000afa0
add esp, 0x1c
mov dword [ebp - 0x434], eax
cmp eax, 0xffffffff
jne 0x1000748e
mov eax, 0xfffffffd
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000d0c5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov esi, dword [ebp - 0x430]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x100074d1
test esi, esi
je 0x100074ac
push esi
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push esi
call edi
mov eax, dword [ebp - 0x42c]
test eax, eax
je 0x100074b9
push eax
call edi
mov eax, 0xfffffffc
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000d0c5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
test esi, esi
je 0x100074df
push esi
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push esi
call edi
mov esi, dword [ebp - 0x42c]
push 0xbb8
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp - 0x434]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push esi
mov dword [ebp - 0x434], 0
call edi
mov eax, dword [ebp - 0x434]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000d0c5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
test esi, esi
jne 0x1000750c
mov eax, 0xfffffffe
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000d0c5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [ebp - 4]
or eax, 0xffffffff
pop edi
xor ecx, ebp
pop esi
call fcn.1000d0c5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret