Function at 0x4446d0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x507ade
mov eax, dword fs:[0]
push eax
sub esp, 0xcac
mov eax, dword [0x54f018]
xor eax, esp
mov dword [esp + 0xca4], eax
push esi
push edi
mov eax, dword [0x54f018]
xor eax, esp
push eax
lea eax, [esp + 0xcb8]
mov dword fs:[0], eax
movzx eax, byte [ebx + 0x1cf8]
cmp dword [ebp + 8], eax
jae 0x444bb9
cmp dword [ebx + 0x12a0], 0
je 0x44473c
push 0
push 0
push str.the_cfg_is_be_tamper__forbid_start_
call dword [sym.imp.mfc100.dll_Ordinal_1982]
jmp 0x444bb9
call fcn.00493c40
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
je 0x444790
mov ecx, esi
call fcn.004a79f0
test eax, eax
je 0x44475d
mov ecx, ebx
call fcn.004499b0
mov ecx, esi
call fcn.004a8220
test eax, eax
je 0x444797
mov ecx, dword [ebx + 0x148c]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
push 0
push 0
call eax
mov dword [ebx + 0x1490], eax
test eax, eax
jne 0x444797
mov ecx, dword [ebx + 0x148c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
call eax
xor eax, eax
jmp 0x444bbe
mov ecx, esi
call fcn.004a7ef0
mov ecx, esi
test eax, eax
jne 0x44488c
call fcn.00494010
push eax
lea ecx, [esp + 0x3c]
push 0
push ecx
call fcn.004eac70
sub esp, 0x14
mov edx, esp
mov dword [esp + 0xce0], 0
mov dword [esp + 0x34], esp
push str.UI_3language
push eax
push edx
call fcn.004040e0
add esp, 0xc
lea edi, [esp + 0x44]
call fcn.00401040
lea ecx, [esp + 0x38]
call fcn.00432240
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_316]
sub esp, 0x1c
mov byte [esp + 0xcdc], 3
mov ecx, esp
mov dword [esp + 0x30], esp
push str.LOG_SAVE_PARAM
call fcn.00401370
lea edi, [esp + 0x54]
lea ecx, [esp + 0x40]
call fcn.00401240
mov byte [esp + 0xcc0], 4
cmp dword [eax + 0x14], 0x10
jb 0x444831
mov eax, dword [eax]
push eax
lea eax, [esp + 0x14]
push 0x5213e0
push eax
call dword [sym.imp.mfc100.dll_Ordinal_4283]
add esp, 0xc
lea ecx, [esp + 0x38]
mov byte [esp + 0xcc0], 3
call fcn.00432240
mov ecx, dword [esp + 0x10]
push 0
push 0
push ecx
mov ecx, ebx
call dword [sym.imp.mfc100.dll_Ordinal_7871]
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x24]
mov dword [esp + 0xcc0], 0xffffffff
call fcn.00401210
xor eax, eax
jmp 0x444bbe
lea edx, [esp + 0x54]
push edx
call fcn.0049a960
cmp byte [eax + 0x209], 2
lea esi, [esp + 0x54]
sete byte [esp + 0x1b]
call fcn.004363d0
cmp byte [esp + 0x1b], 0
je 0x444983
call fcn.00443ad0
test eax, eax
jne 0x444983
mov ecx, dword [esp + 0x1c]
call fcn.00494010
push eax
lea eax, [esp + 0x3c]
push 0
push eax
call fcn.004eac70
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0xce0], 5
mov dword [esp + 0x34], esp
push str.UI_3language
push eax
push ecx
call fcn.004040e0
add esp, 0xc
lea edi, [esp + 0x44]
call fcn.00401040
lea ecx, [esp + 0x38]
call fcn.00432240
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_316]
sub esp, 0x1c
mov byte [esp + 0xcdc], 8
mov ecx, esp
mov dword [esp + 0x30], esp
push str.LOG_SERIAL_NO_NOT_ENOUGH
call fcn.00401370
lea edi, [esp + 0x54]
lea ecx, [esp + 0x40]
call fcn.00401240
mov byte [esp + 0xcc0], 9
cmp dword [eax + 0x14], 0x10
jb 0x444950
mov eax, dword [eax]
push eax
lea edx, [esp + 0x14]
push 0x5213e0
push edx
call dword [sym.imp.mfc100.dll_Ordinal_4283]
add esp, 0xc
lea ecx, [esp + 0x38]
mov byte [esp + 0xcc0], 8
call fcn.00432240
mov eax, dword [esp + 0x10]
push 0
push 0
push eax
jmp 0x44485f
mov esi, ebx
call fcn.004369c0
mov ecx, dword [ebx + 0x12a8]
sub ecx, dword [ebx + 0x12a4]
mov eax, 0x8c55841d
imul ecx
add edx, ecx
sar edx, 0xb
mov edi, edx
shr edi, 0x1f
add edi, edx
xor esi, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x34], edi
call fcn.0041db00
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], esi
cmp edi, esi
jbe 0x444b84
mov dword [esp + 0x20], esi
lea esp, [esp]
mov ecx, dword [ebx + 0x12a4]
cmp byte [esi + ecx + 1], 0xff
lea eax, [esi + ecx]
je 0x444b62
movzx edx, byte [eax]
cmp dword [ebp + 8], edx
jne 0x444b62
xor ecx, ecx
cmp dword [eax + 0x944], ecx
je 0x444a67
mov ecx, dword [esp + 0x1c]
call fcn.004a09a0
test eax, eax
jne 0x444a65
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov eax, dword [ebp + 8]
push eax
lea ecx, [esp + 0x14]
push str.The__d_disk_is_invalid_can_not_product
push ecx
mov dword [esp + 0xccc], 0xa
call dword [sym.imp.mfc100.dll_Ordinal_4283]
add esp, 0xc
cmp dword [ebx + 0x1370], 0
jne 0x444a4b
mov edx, dword [esp + 0x10]
push 0
push 0
push edx
call dword [sym.imp.mfc100.dll_Ordinal_1982]
lea ecx, [esp + 0x10]
mov dword [esp + 0xcc0], 0xffffffff
call dword [sym.imp.mfc100.dll_Ordinal_901]
jmp 0x444b62
xor ecx, ecx
cmp dword [ebx + 0x137c], ecx
je 0x444aca
mov eax, dword [esp + 0x14]
push eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ecx
lea ecx, [ebx + 0x1480]
push ecx
lea eax, [esp + 0x40]
lea edx, [ebx + 0x1380]
push eax
call fcn.0044c770
mov eax, dword [ebx + 0x12a4]
mov ecx, dword [esp + 0x38]
add eax, esi
mov esi, dword [esp + 0x3c]
cmp ecx, esi
je 0x444abd
mov al, byte [eax]
lea ecx, [ecx]
cmp byte [ecx], al
je 0x444be3
inc ecx
cmp ecx, esi
jne 0x444ab0
lea esi, [esp + 0x38]
call fcn.00466e90
mov esi, dword [esp + 0x20]
mov eax, dword [ebx + 0x12a4]
movzx ecx, byte [eax + esi + 1]
mov edi, dword [esp + 0x24]
push 1
push ecx
call fcn.0041dde0
mov dword [esp + 0x20], eax
cmp eax, 5
je 0x444bfd
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc100.dll_Ordinal_316]
movzx edx, byte [esp + 0x20]
imul edx, edx, 0x64
mov dword [esp + 0xcc0], 0xb
mov eax, dword [ebx + 0x12a4]
movzx ecx, byte [esi + eax]
add edx, str.INVALID_MUTEX
push edx
push ecx
lea edx, [esp + 0x38]
push str.Disk__d_is_getting__s
push edx
call dword [sym.imp.mfc100.dll_Ordinal_4283]
mov eax, dword [esp + 0x40]
add esp, 0x10
push 0
push 0
push eax
mov ecx, ebx
call dword [sym.imp.mfc100.dll_Ordinal_7871]
lea ecx, [esp + 0x30]
mov dword [esp + 0x14], 1
mov dword [esp + 0xcc0], 0xffffffff
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
inc eax
add esi, 0xe98
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], esi
cmp eax, edi
jb 0x4449d0
cmp dword [esp + 0x14], 0
jne 0x444b9c
cmp dword [ebx + 0x1370], 0
jne 0x444b9c
push 0
push 0
push str.No_deivce_start_Please_select_or_add_valid_device_
call dword [sym.imp.mfc100.dll_Ordinal_1982]
mov edx, dword [ebx + 0x1370]
push 0
push 0
push edx
push 0x441090
push 0
push 0
call dword [sym.imp.MSVCR100.dll__beginthreadex]
add esp, 0x18
mov eax, 1
mov ecx, dword [esp + 0xcb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0xca4]
xor ecx, esp
call fcn.004e8d32
mov esp, ebp
pop ebp
ret 4
cmp esi, ecx
je 0x444abd
lea esi, [esp + 0x38]
call fcn.00466e90
mov esi, dword [esp + 0x20]
jmp 0x444b5e
mov ecx, dword [esp + 0x1c]
call fcn.004a79f0
test eax, eax
je 0x444c9c
push 0x40f
lea ecx, [esp + 0x8a1]
push 0
push ecx
mov byte [esp + 0x8a8], 0
call sub.MSVCR100.dll_memset
mov ecx, dword [ebx + 0x1f8c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
add esp, 0xc
lea eax, [esp + 0x89c]
push eax
mov eax, dword [ebp + 8]
push eax
call edx
lea eax, [esp + 0x89c]
push eax
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc100.dll_Ordinal_310]
sub esp, 0x1c
mov dword [esp + 0xcdc], 0xc
mov edx, dword [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
call fcn.00401370
mov ecx, dword [ebx + 0x135c]
mov eax, dword [ecx]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0x40]
push edx
call eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0xcc0], 0xffffffff
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov esi, dword [esp + 0x2c]
mov ecx, dword [ebx + 0x12a4]
imul esi, esi, 0xe98
mov eax, dword [ebp + 8]
mov dword [ecx + esi + 0xd8c], 0
mov ecx, dword [ebx + 0x135c]
mov edx, dword [ecx]
mov edx, dword [edx]
push eax
call edx
test eax, eax
je 0x444d16
mov ecx, dword [ebx + 0x134c]
mov eax, dword [ecx]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 0x18]
push 1
push edx
call eax
mov al, byte [ebp + 8]
inc al
movzx eax, al
cmp eax, 0x18
ja 0x444cf2
mov esi, ebx
call fcn.0043ecd0
mov eax, dword [ebx + 0x20]
mov esi, dword [sym.imp.USER32.dll_GetParent]
push eax
call esi
mov edi, dword [sym.imp.mfc100.dll_Ordinal_4345]
push eax
call edi
mov ecx, dword [eax + 0x20]
push ecx
call esi
push eax
call edi
test eax, eax
jne 0x444d30
jmp 0x444d33
mov ecx, dword [ebx + 0x12a4]
movzx edx, byte [ecx + esi + 1]
mov edi, dword [esp + 0x24]
push edx
call fcn.0041de90
jmp 0x444b7d
mov eax, dword [eax + 0x20]
push 0
push 0
push 0x870
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x444bb9