Function at 0x435d30
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x507d1e
mov eax, dword fs:[0]
push eax
sub esp, 0xcb0
mov eax, dword [0x54f018]
xor eax, esp
mov dword [esp + 0xca8], eax
push ebx
push esi
push edi
mov eax, dword [0x54f018]
xor eax, esp
push eax
lea eax, [esp + 0xcc0]
mov dword fs:[0], eax
mov ebx, ecx
cmp dword [ebx + 0x12a0], 0
je 0x435d8f
push 0
push 0
push str.the_cfg_is_be_tamper__forbid_start_
call dword [sym.imp.mfc100.dll_Ordinal_1982]
jmp 0x4363a2
call fcn.00493c40
mov esi, eax
mov dword [esp + 0x28], esi
test esi, esi
je 0x4363a2
mov ecx, esi
call fcn.004a79f0
test eax, eax
je 0x435db4
mov ecx, ebx
call fcn.004499b0
mov ecx, esi
call fcn.004a8220
test eax, eax
je 0x435dec
mov ecx, dword [ebx + 0x148c]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
push 0
push 0
call edx
mov dword [ebx + 0x1490], eax
test eax, eax
jne 0x435dec
mov ecx, dword [ebx + 0x148c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
jmp 0x4363a2
mov ecx, esi
call fcn.004a7ef0
mov ecx, esi
test eax, eax
jne 0x435f0c
call fcn.00494010
push eax
lea eax, [esp + 0x44]
push 0
push eax
call fcn.004eac70
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0xce8], 0
mov dword [esp + 0x34], esp
push str.UI_3language
push eax
push ecx
call fcn.004040e0
add esp, 0xc
lea edi, [esp + 0x40]
call fcn.00401040
mov esi, 0x10
cmp dword [esp + 0x54], esi
jb 0x435e54
mov edx, dword [esp + 0x40]
push edx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_316]
sub esp, 0x1c
mov byte [esp + 0xce4], 3
mov ecx, esp
mov dword [esp + 0x30], esp
push str.LOG_SAVE_PARAM
call fcn.00401370
lea edi, [esp + 0x5c]
lea ecx, [esp + 0x3c]
call fcn.00401240
mov byte [esp + 0xcc8], 4
cmp dword [eax + 0x14], esi
jb 0x435e95
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
mov byte [esp + 0xcc8], 3
cmp dword [esp + 0x54], esi
jb 0x435ec5
mov ecx, dword [esp + 0x40]
push ecx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov edx, dword [esp + 0x10]
push 0
push 0
push edx
mov ecx, ebx
call dword [sym.imp.mfc100.dll_Ordinal_7871]
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov dword [esp + 0xcc8], 0xffffffff
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], vtable.CLanguage.0
test ecx, ecx
je 0x4363a2
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
jmp 0x4363a2
lea eax, [esp + 0x5c]
push eax
call fcn.0049a960
cmp byte [eax + 0x209], 2
lea esi, [esp + 0x5c]
sete byte [esp + 0x1b]
call fcn.004363d0
cmp byte [esp + 0x1b], 0
je 0x436029
call fcn.00443ad0
test eax, eax
jne 0x436029
mov ecx, dword [esp + 0x28]
call fcn.00494010
push eax
lea ecx, [esp + 0x44]
push 0
push ecx
call fcn.004eac70
sub esp, 0x14
mov edx, esp
mov dword [esp + 0xce8], 5
mov dword [esp + 0x34], esp
push str.UI_3language
push eax
push edx
call fcn.004040e0
add esp, 0xc
lea edi, [esp + 0x40]
call fcn.00401040
lea ecx, [esp + 0x40]
call fcn.00432240
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_316]
sub esp, 0x1c
mov byte [esp + 0xce4], 8
mov ecx, esp
mov dword [esp + 0x30], esp
push str.LOG_SERIAL_NO_NOT_ENOUGH
call fcn.00401370
lea edi, [esp + 0x5c]
lea ecx, [esp + 0x3c]
call fcn.00401240
mov byte [esp + 0xcc8], 9
cmp dword [eax + 0x14], 0x10
jb 0x435fd0
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 + 0x40]
mov byte [esp + 0xcc8], 8
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 + 0x20]
mov dword [esp + 0xcc8], 0xffffffff
call fcn.00401210
jmp 0x4363a2
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
xor esi, esi
shr edi, 0x1f
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], esi
add edi, edx
call fcn.0041db00
mov dword [esp + 0x34], eax
cmp edi, esi
jbe 0x43636d
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3c], edi
mov edx, dword [ebx + 0x12a4]
cmp byte [esi + edx + 1], 0xff
lea eax, [esi + edx]
je 0x43630b
mov cl, byte [eax]
cmp cl, 0x20
jae 0x43630b
xor edi, edi
mov byte [esp + 0x38], cl
cmp dword [eax + 0x944], edi
je 0x436109
mov ecx, dword [esp + 0x28]
call fcn.004a09a0
test eax, eax
jne 0x436109
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc100.dll_Ordinal_316]
movzx eax, byte [esp + 0x38]
push eax
lea ecx, [esp + 0x14]
push str.The__d_disk_is_invalid__can_not_product
push ecx
mov dword [esp + 0xcd4], 0xa
call dword [sym.imp.mfc100.dll_Ordinal_4283]
add esp, 0xc
cmp dword [ebx + 0x1370], edi
jne 0x4360ef
mov edx, dword [esp + 0x10]
push edi
push edi
push edx
call dword [sym.imp.mfc100.dll_Ordinal_1982]
lea ecx, [esp + 0x10]
mov dword [esp + 0xcc8], 0xffffffff
call dword [sym.imp.mfc100.dll_Ordinal_901]
jmp 0x43630b
cmp dword [ebx + 0x137c], edi
je 0x43616a
mov eax, dword [esp + 0x14]
push eax
lea ecx, [ebx + 0x1480]
push ecx
lea eax, [esp + 0x48]
lea edx, [ebx + 0x1380]
push eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
call fcn.0044c770
mov eax, dword [ebx + 0x12a4]
mov ecx, dword [esp + 0x40]
add eax, esi
mov esi, dword [esp + 0x44]
cmp ecx, esi
je 0x43615d
mov al, byte [eax]
nop
cmp byte [ecx], al
je 0x436203
inc ecx
cmp ecx, esi
jne 0x436150
lea esi, [esp + 0x40]
call fcn.00466e90
mov esi, dword [esp + 0x1c]
mov eax, dword [ebx + 0x12a4]
movzx ecx, byte [eax + esi + 1]
mov edi, dword [esp + 0x34]
push 1
push ecx
call fcn.0041dde0
mov dword [esp + 0x1c], eax
cmp eax, 5
je 0x43621d
lea ecx, [esp + 0x2c]
call dword [sym.imp.mfc100.dll_Ordinal_316]
movzx edx, byte [esp + 0x1c]
imul edx, edx, 0x64
mov dword [esp + 0xcc8], 0xb
mov eax, dword [ebx + 0x12a4]
movzx ecx, byte [esi + eax]
add edx, str.INVALID_MUTEX
push edx
push ecx
lea edx, [esp + 0x34]
push str.Disk__d_is_getting__s
push edx
call dword [sym.imp.mfc100.dll_Ordinal_4283]
mov eax, dword [esp + 0x3c]
add esp, 0x10
push 0
push 0
push eax
mov ecx, ebx
call dword [sym.imp.mfc100.dll_Ordinal_7871]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x14], 1
mov dword [esp + 0xcc8], 0xffffffff
call dword [sym.imp.mfc100.dll_Ordinal_901]
jmp 0x43630b
cmp esi, ecx
je 0x43615d
lea esi, [esp + 0x40]
call fcn.00466e90
mov esi, dword [esp + 0x1c]
jmp 0x43630b
mov ecx, dword [esp + 0x28]
call fcn.004a79f0
mov edi, dword [esp + 0x38]
test eax, eax
je 0x4362ba
push 0x40f
lea ecx, [esp + 0x8a9]
push 0
push ecx
mov byte [esp + 0x8b0], 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 + 0x8a4]
push eax
push edi
call edx
lea eax, [esp + 0x8a4]
push eax
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc100.dll_Ordinal_310]
sub esp, 0x1c
mov dword [esp + 0xce4], 0xc
mov edx, dword [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.00401370
mov ecx, dword [ebx + 0x135c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
push edi
call edx
lea ecx, [esp + 0x30]
mov dword [esp + 0xcc8], 0xffffffff
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov eax, dword [ebx + 0x12a4]
mov dword [esi + eax + 0xd8c], 0
mov ecx, dword [ebx + 0x135c]
mov edx, dword [ecx]
mov eax, dword [edx]
push edi
call eax
test eax, eax
je 0x4362f6
mov ecx, dword [ebx + 0x134c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
push 1
push edi
call eax
mov dword [esp + 0x20], 1
jmp 0x43630b
mov ecx, dword [ebx + 0x12a4]
movzx edx, byte [esi + ecx + 1]
mov edi, dword [esp + 0x34]
push edx
call fcn.0041de90
add esi, 0xe98
dec dword [esp + 0x3c]
mov dword [esp + 0x1c], esi
jne 0x436072
cmp dword [esp + 0x20], 0
je 0x436366
xor eax, eax
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
je 0x436354
mov eax, dword [eax + 0x20]
push 0
push 0
push 0x870
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x4363a2
cmp dword [esp + 0x14], 0
jne 0x436385
cmp dword [ebx + 0x1370], 0
jne 0x436385
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 ecx, dword [esp + 0xcc0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xca8]
xor ecx, esp
call fcn.004e8d32
mov esp, ebp
pop ebp
ret