Function at 0x414b20
Capabilities:
Contain obfuscated stackstrings
Delete file
Get process heap force flags

Disassembly:
push 0xffffffffffffffff
push 0x429f58
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x258
push ebx
push ebp
push esi
push edi
mov ebx, ecx
push 0x44
mov dword [esp + 0x48], ebx
call fcn.00415250
mov al, 0x1c
lea ebp, [ebx + 0x2e0]
mov byte [esp + 0x29], al
mov byte [esp + 0x30], al
lea eax, [esp + 0x64]
mov ecx, ebp
push eax
push 0x80
mov byte [esp + 0x2c], 0x94
mov byte [esp + 0x2d], 0x1e
mov byte [esp + 0x2e], 0x8e
mov byte [esp + 0x2f], 0x5a
mov byte [esp + 0x30], 0x6c
mov byte [esp + 0x32], 0xbe
mov byte [esp + 0x33], 0xeb
mov byte [esp + 0x34], 0xe4
mov byte [esp + 0x35], 0xce
mov byte [esp + 0x36], 0x1a
mov byte [esp + 0x37], 0x18
mov byte [esp + 0x39], 0x20
mov byte [esp + 0x3a], 0xc8
mov byte [esp + 0x3b], 0x7c
mov byte [esp + 0x3c], 0x5e
mov byte [esp + 0x3d], 0x3d
mov byte [esp + 0x3e], 0xfe
mov byte [esp + 0x3f], 0xcd
mov byte [esp + 0x40], 0x16
mov byte [esp + 0x41], 0x2c
mov byte [esp + 0x42], 0x4c
mov byte [esp + 0x43], 0x44
mov byte [esp + 0x44], 0xbc
mov byte [esp + 0x45], 0x5c
mov byte [esp + 0x46], 0xec
mov byte [esp + 0x47], 0xaf
mov byte [esp + 0x48], 0xb3
mov byte [esp + 0x49], 0x61
mov byte [esp + 0x4a], 0xef
mov byte [esp + 0x4b], 0x47
call fcn.004237d0
test eax, eax
jne 0x414c19
push 0x2f
push 0x6a
mov ecx, ebx
call fcn.00406e80
xor al, al
jmp 0x4151d7
cmp byte [esp + 0x64], 1
jne 0x414c93
cmp byte [esp + 0x65], 1
jne 0x414c4f
mov al, byte [esp + 0x66]
test al, al
jne 0x414c4f
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.hard.bin
call sub.MFC42.DLL_CString::CString_2
mov ecx, ebx
call fcn.00417620
test eax, eax
je 0x4151ac
mov ecx, ebp
call fcn.004233b0
test eax, eax
jne 0x414c6c
push 0x24
push 0x6a
mov ecx, ebx
call fcn.00406e80
xor al, al
jmp 0x4151d7
lea ecx, [esp + 0x64]
push ecx
push 0x80
mov ecx, ebp
call fcn.004237d0
test eax, eax
jne 0x414c93
push 0x25
push 0x6a
mov ecx, ebx
call fcn.00406e80
xor al, al
jmp 0x4151d7
cmp byte [esp + 0x66], 3
jbe 0x414cc0
push 0x20
lea edx, [esp + 0x28]
push 0x40
push edx
mov ecx, ebp
call fcn.004251c0
test al, al
jne 0x414cc0
push 0x23
push 0x6a
mov ecx, ebx
call fcn.00406e80
xor al, al
jmp 0x4151d7
push str.shengji_soft_boot33_
lea eax, [esp + 0x1c]
push 0x434a44
push eax
call sub.MFC42.DLL_operator_1
push str.xiabootj.bin
lea ecx, [esp + 0x18]
push eax
push ecx
mov dword [esp + 0x27c], 0
call sub.MFC42.DLL_operator_1
lea edi, [ebx + 0x32c]
push eax
mov ecx, edi
mov byte [esp + 0x274], 1
call fcn.00426e04
lea ecx, [esp + 0x14]
mov byte [esp + 0x270], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov dword [esp + 0x270], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, ebx
call fcn.00409530
test al, al
je 0x4151ac
lea ecx, [esp + 0x48]
call sub.MFC42.DLL_CFile::CFile_1
mov eax, dword [ebx + 0x330]
lea esi, [ebx + 0x330]
push 0
push 0
push eax
lea ecx, [esp + 0x54]
mov dword [esp + 0x27c], 2
call sub.MFC42.DLL_CFile::Open
test eax, eax
jne 0x414d84
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push esi
call sub.MFC42.DLL_CString::CString_3
mov ecx, ebx
call fcn.00417250
jmp 0x415198
lea ecx, [esp + 0x48]
call sub.MFC42.DLL_CFile::GetLength
mov ebx, eax
push ebx
call sub.MFC42.DLL_operatornew
add esp, 4
lea ecx, [esp + 0x48]
mov dword [esp + 0x1c], eax
push ebx
push eax
call sub.MFC42.DLL_CFile::Read
lea ecx, [esp + 0x48]
call sub.MFC42.DLL_CFile::Close
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push str.shengji_soft_boot33_
lea edx, [esp + 0x18]
push 0x434a44
push edx
call sub.MFC42.DLL_operator_1
push str.xiaboottestj.bin
push eax
lea eax, [esp + 0x20]
mov byte [esp + 0x278], 3
push eax
call sub.MFC42.DLL_operator_1
push eax
mov ecx, edi
mov byte [esp + 0x274], 4
call fcn.00426e04
lea ecx, [esp + 0x18]
mov byte [esp + 0x270], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x270], 2
call sub.MFC42.DLL_CString::CString
mov edi, dword [esp + 0x44]
mov ecx, edi
call fcn.00409530
test al, al
je 0x415198
mov eax, dword [esi]
push 0
push 0
push eax
lea ecx, [esp + 0x54]
call sub.MFC42.DLL_CFile::Open
test eax, eax
jne 0x414e57
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push esi
call sub.MFC42.DLL_CString::CString_3
mov ecx, edi
call fcn.00417250
jmp 0x415198
lea ecx, [esp + 0x48]
call sub.MFC42.DLL_CFile::GetLength
mov edi, eax
push edi
mov dword [esp + 0x5c], edi
call sub.MFC42.DLL_operatornew
add esp, 4
lea ecx, [esp + 0x48]
mov dword [esp + 0x60], eax
push edi
push eax
call sub.MFC42.DLL_CFile::Read
lea ecx, [esp + 0x48]
call sub.MFC42.DLL_CFile::Close
mov esi, dword [esi]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x434328
lea ecx, [esp + 0x24]
mov dword [esp + 0x14], 0
call sub.MFC42.DLL_CString::CString_2
mov eax, edi
mov byte [esp + 0x270], 5
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov dword [esp + 0x18], eax
mov eax, edi
and eax, 0x800000ff
jns 0x414ed0
dec eax
or eax, 0xffffff00
inc eax
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [esp + 0x5c], eax
push 0x3e8
call edi
mov cl, byte [esp + 0x18]
mov dl, byte [esp + 0x5c]
lea eax, [esp + 0x64]
mov byte [esp + 0x165], cl
push eax
lea ecx, [esp + 0x168]
push 3
push ecx
mov ecx, ebp
mov byte [esp + 0x170], 0x20
mov byte [esp + 0x172], dl
mov byte [esp + 0x70], 0xff
call fcn.004254c0
test eax, eax
jne 0x414f43
cmp byte [esp + 0x64], 2
jne 0x414f30
cmp byte [esp + 0x65], 2
je 0x415158
mov eax, dword [esp + 0x10]
mov esi, 4
inc eax
mov dword [esp + 0x10], eax
jmp 0x415104
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
push 2
push edx
push eax
mov ecx, ebp
call fcn.00422760
test eax, eax
jne 0x414f6d
mov eax, dword [esp + 0x10]
mov esi, 3
inc eax
mov dword [esp + 0x10], eax
jmp 0x415104
push 0xa
call edi
mov ecx, ebp
mov byte [esp + 0x164], 0x82
call fcn.004233b0
test eax, eax
jne 0x414f97
mov eax, dword [esp + 0x10]
mov esi, 2
inc eax
mov dword [esp + 0x10], eax
jmp 0x415104
push 0x7d0
call edi
lea ecx, [esp + 0x64]
mov byte [esp + 0x164], 0x11
push ecx
push 0x11
mov ecx, ebp
call fcn.004237d0
test eax, eax
jne 0x414fcb
mov eax, dword [esp + 0x10]
mov esi, 0xa
inc eax
mov dword [esp + 0x10], eax
jmp 0x415104
push 0x3e8
call edi
mov eax, ebx
mov ecx, ebp
cdq
and edx, 0xffff
mov byte [esp + 0x164], 0x13
add eax, edx
mov byte [esp + 0x167], bl
sar eax, 0x10
mov byte [esp + 0x165], al
mov eax, ebx
cdq
and edx, 0xff
add eax, edx
lea edx, [esp + 0x64]
sar eax, 8
mov byte [esp + 0x166], al
push edx
lea eax, [esp + 0x168]
push 4
push eax
call fcn.004254c0
test eax, eax
jne 0x415038
mov eax, dword [esp + 0x10]
mov esi, 9
inc eax
mov dword [esp + 0x10], eax
jmp 0x415104
push 0x3e8
call edi
mov esi, dword [esp + 0x1c]
push 2
push ebx
push esi
mov ecx, ebp
call fcn.00422760
test eax, eax
jne 0x415065
mov eax, dword [esp + 0x10]
mov esi, 8
inc eax
mov dword [esp + 0x10], eax
jmp 0x415104
push 0x3e8
call edi
lea ecx, [esp + 0x64]
push ecx
push 0x15
mov ecx, ebp
call fcn.004237d0
test eax, eax
jne 0x41508e
mov eax, dword [esp + 0x10]
mov esi, 7
inc eax
mov dword [esp + 0x10], eax
jmp 0x415104
lea ecx, [esp + 0x14]
call fcn.00401040
push ebx
push esi
lea ecx, [esp + 0x1c]
mov byte [esp + 0x278], 6
call fcn.004014c0
mov ecx, dword [esp + 0x67]
mov edx, dword [esp + 0x68]
and ecx, 0xff
and edx, 0xff
shl ecx, 8
add ecx, edx
mov edx, dword [esp + 0x69]
shl ecx, 8
and edx, 0xff
add ecx, edx
mov edx, dword [esp + 0x6a]
shl ecx, 8
and edx, 0xff
add ecx, edx
cmp ecx, eax
je 0x41515e
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x14]
inc eax
mov esi, 5
mov dword [esp + 0x10], eax
mov byte [esp + 0x270], 5
call fcn.00401070
cmp dword [esp + 0x10], 3
jl 0x414eda
test esi, esi
je 0x41516f
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_4
push esi
lea eax, [esp + 0x14]
push 0x4336e4
push eax
mov byte [esp + 0x27c], 7
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push 0
push 0
push ecx
call sub.MFC42.DLL_AfxMessageBox
lea ecx, [esp + 0x10]
mov byte [esp + 0x270], 5
call sub.MFC42.DLL_CString::CString
jmp 0x415187
push 0
push 0x65
jmp 0x41517e
lea ecx, [esp + 0x14]
mov byte [esp + 0x270], 5
call fcn.00401070
mov ecx, ebp
call fcn.00421100
test eax, eax
jne 0x4151b0
push 0x53
push 0x6a
mov ecx, dword [esp + 0x4c]
call fcn.00406e80
lea ecx, [esp + 0x20]
mov byte [esp + 0x270], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x48]
mov dword [esp + 0x270], 0xffffffff
call sub.MFC42.DLL_CFile::CFile
xor al, al
jmp 0x4151d7
lea ecx, [esp + 0x20]
mov byte [esp + 0x270], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x48]
mov dword [esp + 0x270], 0xffffffff
call sub.MFC42.DLL_CFile::CFile
mov al, 1
mov ecx, dword [esp + 0x268]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x264
ret