Function at 0x426ca0
Capabilities:
Terminate process

Disassembly:
push ecx
mov dword [esp], ecx
push ebx
mov ebx, dword [esp + 0xc]
xor ecx, ecx
push ebp
mov cl, bh
push esi
mov eax, ebx
mov esi, ecx
xor edx, edx
mov dl, byte [esp + 0x16]
mov ecx, ebx
and eax, 0xff
push edi
shr ecx, 0x18
cmp eax, ebx
mov edi, edx
jne 0x426cfc
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
cmp eax, 0x20
mov dword [ecx], 0
mov dword [edx], eax
jb 0x426dcc
cmp eax, 0x7e
ja 0x426dcc
mov ebx, 3
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
pop ecx
ret 0x14
mov edx, ebx
and edx, 0xffff
cmp edx, ebx
jne 0x426d4b
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
cmp eax, 0x20
mov dword [ecx], 0
mov dword [edx], ebx
jb 0x426dcc
cmp eax, 0x7e
ja 0x426dcc
cmp esi, 0x20
jb 0x426dcc
cmp esi, 0x7e
ja 0x426dcc
mov ebx, 4
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
pop ecx
ret 0x14
cmp eax, 0x20
jb 0x426d92
cmp eax, 0x7e
ja 0x426d92
cmp esi, 0x20
jb 0x426d92
cmp esi, 0x7e
ja 0x426d92
cmp edi, 0x20
jb 0x426d92
cmp edi, 0x7e
ja 0x426d92
cmp ecx, 0x20
jb 0x426d92
cmp ecx, 0x7e
ja 0x426d92
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
pop edi
pop esi
mov dword [eax], 0
mov dword [ecx], ebx
mov ebx, 5
pop ebp
mov eax, ebx
pop ebx
pop ecx
ret 0x14
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov ecx, edx
xor eax, eax
mov ebp, ecx
mov edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, ebp
push 0
and ecx, 3
push edx
rep stosb byte es:[edi], al
mov ecx, dword [esp + 0x18]
push esi
push ebx
call fcn.00421ab0
test eax, eax
jne 0x426dd8
mov edx, dword [esp + 0x1c]
mov dword [edx], eax
mov eax, dword [esp + 0x28]
mov dword [eax], ebx
xor ebx, ebx
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
pop ecx
ret 0x14
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
xor ebp, ebp
mov byte [esi + eax - 2], 0
mov byte [esi + eax - 1], 0
cdq
sub eax, edx
mov dword [ecx], 1
sar eax, 1
test eax, eax
mov dword [esp + 0x1c], ebp
jle 0x426e13
mov ecx, esi
cmp word [ecx], 0
je 0x426e0f
inc ebp
add ecx, 2
cmp ebp, eax
jl 0x426e01
mov dword [esp + 0x1c], ebp
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
cmp edi, 4
jl 0x426e55
xor ecx, ecx
test edi, edi
jle 0x426e4e
mov al, byte [ecx + esi]
cmp al, 0x20
jl 0x426e37
cmp al, 0x7e
jle 0x426e43
cmp al, 0xd
je 0x426e43
cmp al, 0xa
je 0x426e43
cmp al, 9
jne 0x426e4a
inc ecx
cmp ecx, edi
jl 0x426e2c
jmp 0x426e4e
cmp ecx, edi
jl 0x426e55
or ebp, 0xffffffff
mov dword [esp + 0x1c], ebp
mov edx, edi
and edx, 0x80000001
jns 0x426e64
dec edx
or edx, 0xfffffffe
inc edx
je 0x426e67
inc edi
cmp ebp, 1
jle 0x426f70
mov ebx, dword [esp + 0x10]
push esi
mov ecx, dword [ebx + 0x1b0]
call fcn.0046cd40
test eax, eax
je 0x426f70
lea eax, [ebp + ebp]
cmp edi, eax
jne 0x426ea4
mov ecx, dword [ebx + 0x1b0]
push esi
call fcn.0046cce0
test eax, eax
jne 0x426f70
mov ecx, dword [esp + 0x24]
lea ebx, [ecx + 2]
push ebx
call sub.MFC42.DLL_operatornew
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x426ece
push 0xffffffffffffffff
push eax
push 0xf00a
call sub.MFC42.DLL_AfxMessageBox_1
push ebp
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, ebx
xor eax, eax
mov edx, ecx
mov edi, ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push 0
and ecx, 3
push 0
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x24]
push ebx
push ebp
push eax
push esi
push 0x400
push 0
mov dword [esp + 0x48], ebp
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ecx, dword [esp + 0x24]
xor eax, eax
mov edx, ecx
mov edi, esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov al, byte [ebp]
xor ecx, ecx
test al, al
je 0x426f54
cmp ecx, edx
jge 0x426f54
cmp al, 0xd
je 0x426f2e
cmp al, 0xa
je 0x426f2e
cmp al, 9
jne 0x426f48
mov byte [ecx + esi], 0x5c
inc ecx
cmp al, 0xd
jne 0x426f3d
mov byte [ecx + esi], 0x72
jmp 0x426f4b
cmp al, 0xa
setne al
dec eax
and al, 0xfa
add eax, 0x74
mov byte [ecx + esi], al
mov al, byte [ebp + 1]
inc ecx
inc ebp
test al, al
jne 0x426f1e
mov ecx, dword [esp + 0x28]
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov ebx, 2
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret 0x14
mov eax, dword [esp + 0x28]
mov edx, dword [esi]
xor edi, edi
mov ebp, 1
mov dword [eax], edx
mov cl, byte [esi]
test cl, cl
je 0x426fbf
mov al, cl
mov edx, esi
cmp al, 0x20
jl 0x426f91
cmp al, 0x7e
jle 0x426f9d
cmp al, 0xd
je 0x426fa9
cmp al, 0xa
je 0x426f9d
cmp al, 9
jne 0x426fbd
cmp al, 0xd
je 0x426fa9
cmp al, 0xa
je 0x426fa9
cmp al, 9
jne 0x426faa
inc edi
mov al, byte [edx + 1]
inc edx
test al, al
jne 0x426f89
test cl, cl
je 0x426fbf
mov ebx, 1
jmp 0x427005
xor ebp, ebp
xor ebx, ebx
test cl, cl
je 0x427005
mov ecx, dword [esp + 0x10]
push esi
mov ecx, dword [ecx + 0x1b0]
call fcn.0046cce0
test eax, eax
je 0x427005
mov al, byte [esi]
mov ebx, 1
xor edi, edi
mov ebp, ebx
test al, al
je 0x42711c
mov ecx, esi
cmp al, 0xd
je 0x426ffc
mov al, byte [ecx]
cmp al, 0xa
je 0x426ffc
cmp al, 9
jne 0x426ffd
inc edi
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x426fee
test edi, edi
jle 0x42709c
test ebp, ebp
je 0x42709c
mov edx, dword [esp + 0x24]
lea edi, [edi + edx + 2]
push edi
call sub.MFC42.DLL_operatornew
mov ecx, edi
mov ebp, eax
mov edx, ecx
xor eax, eax
mov edi, ebp
add esp, 4
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov cl, byte [esi]
xor eax, eax
test cl, cl
je 0x427086
mov edx, esi
cmp eax, dword [esp + 0x24]
jge 0x427086
mov cl, byte [edx]
cmp cl, 0xd
je 0x42705d
cmp cl, 0xa
je 0x42705d
cmp cl, 9
jne 0x42707a
mov byte [eax + ebp], 0x5c
inc eax
cmp cl, 0xd
jne 0x42706d
mov byte [eax + ebp], 0x72
jmp 0x42707d
cmp cl, 0xa
setne cl
dec ecx
and ecx, 0xfffffffa
add ecx, 0x74
mov byte [eax + ebp], cl
mov cl, byte [edx + 1]
inc eax
inc edx
test cl, cl
jne 0x427046
mov edx, dword [esp + 0x24]
push edx
push ebp
push esi
call dword [sym.imp.MSVCRT.dll_strncpy]
push ebp
call sub.MFC42.DLL_operatordelete
add esp, 0x10
test ebx, ebx
jne 0x42711c
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov ecx, dword [0x4ba858]
push edi
push esi
push eax
call fcn.00409cb0
test eax, eax
je 0x4270c9
mov ebx, 6
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
pop ecx
ret 0x14
mov cl, byte [esi]
xor eax, eax
mov al, byte [esi + 1]
cmp cl, 0xff
jne 0x42711c
cmp eax, 0x15
je 0x4270df
cmp eax, 0x25
jne 0x42711c
mov eax, dword [esi + 2]
push 0
lea ecx, [esp + 0x28]
push 4
push ecx
mov ecx, dword [esp + 0x1c]
push eax
mov dword [esp + 0x34], 0
call fcn.00421ab0
test eax, eax
je 0x42711c
mov edx, dword [esp + 0x24]
mov ecx, dword [0x4ba858]
push edi
push esi
push edx
call fcn.00409cb0
test eax, eax
je 0x42711c
mov ebx, 7
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
pop ecx
ret 0x14