Function at 0x100083ae
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4f8
push esi
push edi
mov dword [ebp - 0x420], 0
mov word [ebp - 0x20c], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x20a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x410], 0
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x20c]
push ecx
push 0x104
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x424], eax
mov word [ebp - 0x40c], 0
mov ecx, 0x7f
xor eax, eax
lea edi, [ebp - 0x40a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push pe_nt_image_headers32
lea ecx, [ebp - 0x40c]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [ebp - 0x40c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x418], eax
mov eax, dword [ebp - 0x424]
sub eax, 1
mov dword [ebp - 0x414], eax
jmp 0x10008478
mov ecx, dword [ebp - 0x414]
sub ecx, 1
mov dword [ebp - 0x414], ecx
cmp dword [ebp - 0x414], 0
jle 0x100084a6
mov edx, dword [ebp - 0x414]
xor eax, eax
mov ax, word [ebp + edx*2 - 0x20c]
cmp eax, 0x5c
jne 0x100084a4
mov ecx, dword [ebp - 0x414]
mov dword [ebp - 0x424], ecx
jmp 0x100084a6
jmp 0x10008469
mov edx, dword [ebp - 0x418]
sub edx, 1
mov dword [ebp - 0x41c], edx
jmp 0x100084c6
mov eax, dword [ebp - 0x41c]
sub eax, 1
mov dword [ebp - 0x41c], eax
cmp dword [ebp - 0x41c], 0
jle 0x100084f4
mov ecx, dword [ebp - 0x41c]
xor edx, edx
mov dx, word [ebp + ecx*2 - 0x40c]
cmp edx, 0x5c
jne 0x100084f2
mov eax, dword [ebp - 0x41c]
mov dword [ebp - 0x418], eax
jmp 0x100084f4
jmp 0x100084b7
mov ecx, dword [ebp - 0x424]
cmp ecx, dword [ebp - 0x418]
jge 0x10008510
mov edx, dword [ebp - 0x424]
mov dword [ebp - 0x4f4], edx
jmp 0x1000851c
mov eax, dword [ebp - 0x418]
mov dword [ebp - 0x4f4], eax
mov ecx, dword [ebp - 0x418]
push ecx
lea edx, [ebp - 0x40c]
push edx
mov eax, dword [ebp - 0x4f4]
push eax
lea ecx, [ebp - 0x20c]
push ecx
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CompareStringW]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 2
jne 0x10008e37
lea edx, [ebp - 0x20c]
push edx
lea ecx, [ebp - 0x428]
call sub.MFC42u.DLL_CString::CString_2
lea ecx, [ebp - 0x428]
call fcn.1000c2f0
push eax
lea eax, [ebp - 0x42c]
push eax
call fcn.10003f74
add esp, 8
mov ecx, 0x10018ef4
call fcn.1000a7e0
test eax, eax
jne 0x100089ab
mov dword [ebp - 0x450], 0
push ecx
mov ecx, esp
push 0x100182ac
call sub.MFC42u.DLL_CString::CString_2
lea ecx, [ebp - 0x450]
push ecx
push ecx
mov ecx, esp
push 0x10018ef4
call sub.MFC42u.DLL_CString::CString_3
lea edx, [ebp - 0x454]
push edx
lea ecx, [ebp - 0x44c]
call fcn.1000ca80
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x448]
call sub.MFC42u.DLL_CString::CString_3
lea ecx, [ebp - 0x448]
call sub.MFC42u.DLL_CString::MakeLower
lea ecx, [ebp - 0x454]
call sub.MFC42u.DLL_CString::MakeLower
lea ecx, [ebp - 0x454]
push ecx
lea edx, [ebp - 0x448]
push edx
call fcn.1000c2d0
and eax, 0xff
test eax, eax
je 0x10008995
mov eax, 1
test eax, eax
je 0x1000898b
push ecx
mov ecx, esp
push 0x100182b0
call sub.MFC42u.DLL_CString::CString_2
lea ecx, [ebp - 0x450]
push ecx
push ecx
mov ecx, esp
push 0x10018ef4
call sub.MFC42u.DLL_CString::CString_3
lea edx, [ebp - 0x474]
push edx
lea ecx, [ebp - 0x44c]
call fcn.1000ca80
lea ecx, [ebp - 0x474]
call fcn.1000a7e0
test eax, eax
je 0x10008672
lea ecx, [ebp - 0x474]
call sub.MFC42u.DLL_CString::CString
jmp 0x1000898b
push ecx
mov ecx, esp
push 0x100182b4
call sub.MFC42u.DLL_CString::CString_2
lea eax, [ebp - 0x450]
push eax
push ecx
mov ecx, esp
push 0x10018ef4
call sub.MFC42u.DLL_CString::CString_3
lea ecx, [ebp - 0x46c]
push ecx
lea ecx, [ebp - 0x44c]
call fcn.1000ca80
push ecx
mov ecx, esp
push 0x100182b8
call sub.MFC42u.DLL_CString::CString_2
lea edx, [ebp - 0x450]
push edx
push ecx
mov ecx, esp
push 0x10018ef4
call sub.MFC42u.DLL_CString::CString_3
lea eax, [ebp - 0x460]
push eax
lea ecx, [ebp - 0x44c]
call fcn.1000ca80
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x468], 0
mov dword [ebp - 0x464], 0
push 0x804
push ecx
mov ecx, esp
lea edx, [ebp - 0x474]
push edx
call sub.MFC42u.DLL_CString::CString_3
call fcn.100051fc
add esp, 8
mov dword [ebp - 0x468], eax
mov eax, dword [ebp - 0x468]
push eax
call fcn.100050b3
add esp, 4
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x468], 0
je 0x10008765
mov ecx, dword [ebp - 0x468]
mov dword [ebp - 0x4a4], ecx
mov edx, dword [ebp - 0x4a4]
push edx
call sub.MFC42u.DLL_operatordelete
add esp, 4
mov dword [ebp - 0x468], 0
push 0x100182bc
lea eax, [ebp - 0x46c]
push eax
call fcn.1000cea0
and eax, 0xff
test eax, eax
je 0x10008827
lea ecx, [ebp - 0x460]
call fcn.1000a7a0
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x45c], eax
push 0x804
push ecx
mov ecx, esp
lea edx, [ebp - 0x460]
push edx
call sub.MFC42u.DLL_CString::CString_3
call fcn.100051fc
add esp, 8
mov dword [ebp - 0x468], eax
mov eax, dword [ebp - 0x468]
push eax
call fcn.100050b3
add esp, 4
mov dword [ebp - 0x470], eax
cmp dword [ebp - 0x468], 0
je 0x100087fe
mov ecx, dword [ebp - 0x468]
mov dword [ebp - 0x4ac], ecx
mov edx, dword [ebp - 0x4ac]
push edx
call sub.MFC42u.DLL_operatordelete
add esp, 4
mov dword [ebp - 0x468], 0
push 0
mov eax, dword [ebp - 0x45c]
push eax
lea ecx, [ebp - 0x470]
push ecx
mov edx, dword [ebp - 0x458]
push edx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
jmp 0x10008965
push 0x100182c4
lea eax, [ebp - 0x46c]
push eax
call fcn.1000cea0
and eax, 0xff
test eax, eax
je 0x100088d6
push 0x804
push ecx
mov ecx, esp
lea edx, [ebp - 0x460]
push edx
call sub.MFC42u.DLL_CString::CString_3
call fcn.100051fc
add esp, 8
mov dword [ebp - 0x468], eax
mov eax, dword [ebp - 0x468]
push eax
call sub.MSVCRT.dll_strlen
add esp, 4
mov dword [ebp - 0x45c], eax
push 0
mov ecx, dword [ebp - 0x45c]
add ecx, 1
push ecx
mov edx, dword [ebp - 0x468]
push edx
mov eax, dword [ebp - 0x458]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp dword [ebp - 0x468], 0
je 0x100088d1
mov ecx, dword [ebp - 0x468]
mov dword [ebp - 0x4b4], ecx
mov edx, dword [ebp - 0x4b4]
push edx
call sub.MFC42u.DLL_operatordelete
add esp, 4
mov dword [ebp - 0x468], 0
jmp 0x10008965
push str.wchar
lea eax, [ebp - 0x46c]
push eax
call fcn.1000cea0
and eax, 0xff
test eax, eax
je 0x10008956
lea ecx, [ebp - 0x460]
call fcn.1000a7a0
push eax
lea ecx, [ebp - 0x460]
call sub.MFC42u.DLL_CString::GetBuffer
mov dword [ebp - 0x464], eax
lea ecx, [ebp - 0x460]
call fcn.1000a7a0
shl eax, 1
mov dword [ebp - 0x45c], eax
push 0
mov ecx, dword [ebp - 0x45c]
add ecx, 2
push ecx
mov edx, dword [ebp - 0x464]
push edx
mov eax, dword [ebp - 0x458]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
push 0xffffffffffffffff
lea ecx, [ebp - 0x460]
call sub.MFC42u.DLL_CString::ReleaseBuffer
jmp 0x10008965
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea ecx, [ebp - 0x460]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x46c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x474]
call sub.MFC42u.DLL_CString::CString
jmp 0x10008613
mov ecx, 0x10018ef4
call sub.MFC42u.DLL_CString::Empty
lea ecx, [ebp - 0x448]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x454]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x42c]
push ecx
lea ecx, [ebp - 0x42c]
call fcn.1000c2f0
push eax
mov ecx, 0x10018ff0
call sub.MFC42u.DLL_CMapStringToString::Lookup
test eax, eax
je 0x100089f7
mov dword [ebp - 0x4b8], 0xffffffff
lea ecx, [ebp - 0x42c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x428]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [ebp - 0x4b8]
jmp 0x10008e68
lea edx, [ebp - 0x444]
push edx
lea ecx, [ebp - 0x428]
call fcn.1000c2f0
push eax
lea eax, [ebp - 0x4c0]
push eax
call fcn.10003f74
add esp, 8
mov ecx, eax
call fcn.1000c2f0
push eax
call fcn.1000424a
add esp, 8
mov byte [ebp - 0x4bc], al
lea ecx, [ebp - 0x4c0]
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [ebp - 0x4bc]
and ecx, 0xff
test ecx, ecx
je 0x10008df4
lea ecx, [ebp - 0x428]
call fcn.1000c2f0
push eax
lea edx, [ebp - 0x4c4]
push edx
call fcn.10003f74
add esp, 8
push eax
lea ecx, [ebp - 0x428]
call sub.MFC42u.DLL_CString::operator_1
lea ecx, [ebp - 0x4c4]
call sub.MFC42u.DLL_CString::CString
cmp dword [ebp - 0x444], 0
jle 0x10008a97
mov eax, dword [ebp - 0x444]
mov dword [ebp - 0x4f8], eax
jmp 0x10008aa5
mov ecx, dword [ebp - 0x444]
neg ecx
mov dword [ebp - 0x4f8], ecx
mov edx, dword [ebp - 0x4f8]
mov dword [ebp - 0x420], edx
mov ecx, 0x10018efc
call fcn.1000c2f0
push eax
mov ecx, 0x10018efc
call fcn.1000a7a0
push eax
lea eax, [ebp - 0x4cc]
push eax
lea ecx, [ebp - 0x428]
call sub.MFC42u.DLL_CString::Right
mov ecx, eax
call fcn.1000c2f0
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x4c8], al
lea ecx, [ebp - 0x4cc]
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [ebp - 0x4c8]
and ecx, 0xff
test ecx, ecx
je 0x10008b99
cmp dword [0x1001a5d0], 0
jne 0x10008b32
mov ecx, 0x10018f0c
call fcn.1000c2f0
push eax
push 0
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [0x1001a5d0], eax
cmp dword [0x1001a5d0], 0
jne 0x10008b53
mov ecx, 0x10018f04
call fcn.1000c2f0
push eax
push 0
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [0x1001a5d0], eax
lea ecx, [ebp - 0x428]
call fcn.1000a7a0
mov esi, eax
mov ecx, 0x10018efc
call fcn.1000a7a0
sub esi, eax
push ecx
mov edi, esp
push ecx
mov edx, esp
push esi
push edx
lea ecx, [ebp - 0x428]
call sub.MFC42u.DLL_CString::Left
push edi
lea ecx, [ebp - 0x478]
call fcn.1000dd60
mov eax, dword [0x1001a5d0]
push eax
call fcn.100063db
add esp, 8
push 0x10018ef8
lea ecx, [ebp - 0x428]
push ecx
call fcn.1000c2d0
and eax, 0xff
test eax, eax
je 0x10008c11
cmp dword [0x1001a5d0], 0
jne 0x10008bd4
mov ecx, 0x10018f0c
call fcn.1000c2f0
push eax
push 0
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [0x1001a5d0], eax
cmp dword [0x1001a5d0], 0
jne 0x10008bf5
mov ecx, 0x10018f04
call fcn.1000c2f0
push eax
push 0
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [0x1001a5d0], eax
push ecx
mov ecx, esp
push 0x100182dc
call sub.MFC42u.DLL_CString::CString_2
mov edx, dword [0x1001a5d0]
push edx
call fcn.100063db
add esp, 8
cmp dword [0x100190f4], 0
je 0x10008d7c
push 0x10018f2c
lea eax, [ebp - 0x428]
push eax
call fcn.1000c2d0
and eax, 0xff
test eax, eax
je 0x10008d05
mov ecx, 0x10019134
call fcn.1000a7e0
test eax, eax
jne 0x10008d05
mov ecx, 0x10019134
call fcn.1000c2f0
push eax
mov ecx, 0x10019138
call fcn.1000dc30
mov ecx, 0x10019138
call fcn.1000def0
sub eax, 1
push eax
mov ecx, 0x10019138
call fcn.1000df20
push 0x10019134
push 0x10018f28
lea ecx, [ebp - 0x4dc]
push ecx
call sub.MFC42u.DLL_operator_1
push eax
lea ecx, [ebp - 0x428]
call sub.MFC42u.DLL_CString::operator_1
lea ecx, [ebp - 0x4dc]
call sub.MFC42u.DLL_CString::CString
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x428]
call fcn.1000c2f0
push eax
call dword [0x10018ecc]
mov dword [ebp - 0x420], eax
mov edx, dword [ebp - 0x420]
mov dword [ebp - 0x4e0], edx
lea ecx, [ebp - 0x42c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x428]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [ebp - 0x4e0]
jmp 0x10008e68
push 0x10018efc
mov ecx, 0x10018efc
call fcn.1000a7a0
push eax
lea eax, [ebp - 0x4e8]
push eax
lea ecx, [ebp - 0x428]
call sub.MFC42u.DLL_CString::Right
push eax
call fcn.1000c2d0
mov byte [ebp - 0x4e4], al
lea ecx, [ebp - 0x4e8]
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [ebp - 0x4e4]
and ecx, 0xff
test ecx, ecx
je 0x10008d7c
lea ecx, [ebp - 0x428]
call fcn.1000c2f0
push eax
mov ecx, 0x10019138
call fcn.1000dc30
mov ecx, 0x10019138
call fcn.1000def0
sub eax, 1
push eax
mov ecx, 0x10019138
call fcn.1000df20
mov edx, dword [ebp - 0x420]
push edx
call fcn.100055e5
add esp, 4
and eax, 0xff
test eax, eax
jne 0x10008df2
push ecx
mov ecx, esp
push 0x10018f10
call sub.MFC42u.DLL_CString::CString_3
push ecx
mov ecx, esp
push 0x10018f14
call sub.MFC42u.DLL_CString::CString_3
mov eax, dword [ebp - 0x420]
push eax
call fcn.10004402
add esp, 0xc
mov dword [ebp - 0x47c], eax
cmp dword [ebp - 0x47c], 0
je 0x10008df2
mov ecx, dword [ebp - 0x420]
push ecx
call fcn.100042c6
add esp, 4
push eax
mov edx, dword [ebp - 0x47c]
push edx
mov eax, dword [ebp - 0x420]
push eax
call fcn.1000565f
add esp, 0xc
jmp 0x10008e1f
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x20c]
push ecx
call dword [0x10018ecc]
mov dword [ebp - 0x420], eax
lea ecx, [ebp - 0x42c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [ebp - 0x428]
call sub.MFC42u.DLL_CString::CString
jmp 0x10008e62
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x20c]
push edx
call dword [0x10018ecc]
mov dword [ebp - 0x420], eax
mov eax, dword [ebp - 0x420]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x1c