Function at 0x401e00
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x108
mov eax, dword [0x570400]
xor eax, esp
mov dword [esp + 0x104], eax
mov eax, dword [ebp + 8]
push esi
push edi
push 0
push eax
push 0
push 0
push connect
push connect
push connect
push connect
push 0x10000000
push str.Learn_to_Program_Windows
push str.Sample_Window_Class
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
push ecx
lea ecx, [esp + 0x84]
call fcn.00402210
push ecx
lea ecx, [esp + 0x84]
call fcn.004dce20
lea ecx, [esp + 0x68]
call fcn.00402ab0
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
lea edx, [esp + 0x68]
call fcn.00403520
lea ecx, [esp + 0x68]
call fcn.00403550
test al, al
jne 0x401f0f
mov edx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
add ecx, edx
call dword [sym.imp.MSVCP140.dll_public:_bool___thiscall_std::ios_base::eof_void_const]
test al, al
je 0x401e80
call fcn.00401bd0
push str.Reach_EOF
push str.BGProcessor
push eax
call fcn.00412dc0
add esp, 0xc
call fcn.00401bd0
push str.Wait_for_pool...
push str.BGProcessor
push eax
call fcn.00412dc0
add esp, 0xc
lea ecx, [esp + 0x80]
call fcn.004dd4f0
call fcn.00401bd0
push str.All_task_done...
push str.BGProcessor
push eax
call fcn.00412dc0
add esp, 0xc
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call fcn.00401bd0
lea ecx, [esp + 0x68]
mov edx, eax
call fcn.00402840
push eax
push str.Receive:__s
push str.BGProcessor
push edx
call fcn.00412dc0
sub esp, 0x18
mov ecx, esp
push ecx
call fcn.00402410
push 0
push 1
lea edx, [esp + 0x98]
lea ecx, [esp + 0x70]
call fcn.00403620
add esp, 0x30
lea ecx, [esp + 0x40]
push str.requestId
call fcn.00403750
lea ecx, [esp + 0x50]
push ecx
mov ecx, eax
call fcn.004038e0
push ecx
lea ecx, [esp + 0x14]
call fcn.00402230
call fcn.00401900
lea ecx, [esp + 0x10]
push ecx
mov ecx, eax
call fcn.00410c40
lea ecx, [esp + 0x10]
call fcn.00402370
mov edi, eax
xor esi, esi
test edi, edi
jle 0x40205e
nop dword [eax]
call fcn.00401bd0
push esi
lea ecx, [esp + 0x14]
mov edx, eax
call fcn.00402360
mov ecx, eax
call fcn.00402840
push eax
push str.Handle_unfinished_upload:__s
push str.BGProcessor
push edx
call fcn.00412dc0
sub esp, 8
lea ecx, [esp + 0x28]
mov edx, esp
push esi
call fcn.00402360
push eax
mov ecx, edx
call fcn.004029c0
lea ecx, [esp + 0x98]
call fcn.004dd1e0
test al, al
je 0x40200a
call fcn.00401bd0
push str.This_unfinished_task_is_still_running_or_in_queue__skip___
push str.BGProcessor
push eax
call fcn.00412dc0
add esp, 0xc
jmp 0x402055
push ecx
lea ecx, [esp + 0x2c]
call fcn.00402250
push esi
lea ecx, [esp + 0x14]
call fcn.00402360
push esi
lea edx, [eax + 0x18]
call fcn.00402360
push edx
mov edx, eax
lea ecx, [esp + 0x2c]
call fcn.004039d0
push ecx
lea eax, [esp + 0x30]
mov ecx, esp
push eax
call fcn.00403a90
lea ecx, [esp + 0x88]
call fcn.004dcf90
lea ecx, [esp + 0x28]
call fcn.00402330
inc esi
cmp esi, edi
jl 0x401fa0
push str.GetDeviceInfo
lea ecx, [esp + 0x54]
call fcn.00402800
test eax, eax
jne 0x4020da
sub esp, 0x18
lea eax, [esp + 0x68]
mov ecx, esp
push eax
call fcn.004029c0
lea ecx, [esp + 0x98]
call fcn.004dd1e0
test al, al
je 0x40209e
call fcn.00401bd0
push str.GetDeviceInfo_task_is_still_running_or_in_queue__skip___
jmp 0x4021da
push ecx
lea ecx, [esp + 0x34]
call fcn.00402250
lea edx, [esp + 0x50]
call fcn.00403ac0
sub esp, 8
lea eax, [esp + 0x38]
mov ecx, esp
push eax
call fcn.00403a90
lea ecx, [esp + 0x88]
call fcn.004dcf90
lea ecx, [esp + 0x30]
call fcn.00402330
jmp 0x4021e8
push str.UploadMultipleVideos
lea ecx, [esp + 0x54]
call fcn.00402800
test eax, eax
jne 0x4021d0
push ecx
lea ecx, [esp + 0x20]
call fcn.00402230
sub esp, 0x10
lea eax, [esp + 0x50]
mov ecx, esp
push eax
call fcn.00402470
lea ecx, [esp + 0x2c]
call fcn.004eaea0
add esp, 0x10
lea ecx, [esp + 0x1c]
call fcn.00402280
mov edi, eax
xor esi, esi
test edi, edi
jle 0x4021c5
nop word [eax + eax]
sub esp, 0x18
lea ecx, [esp + 0x34]
mov edx, esp
push esi
call fcn.00402260
push eax
mov ecx, edx
call fcn.004029c0
lea ecx, [esp + 0x98]
call fcn.004dd1e0
test al, al
je 0x402171
call fcn.00401bd0
push str.The_upload_task_is_still_running_or_in_queue__skip___
push str.BGProcessor
push eax
call fcn.00412dc0
add esp, 0xc
jmp 0x4021bc
push ecx
lea ecx, [esp + 0x3c]
call fcn.00402250
push esi
lea ecx, [esp + 0x20]
call fcn.00402260
push esi
lea edx, [eax + 0x18]
call fcn.00402260
push edx
mov edx, eax
lea ecx, [esp + 0x3c]
call fcn.004039d0
push ecx
lea eax, [esp + 0x40]
mov ecx, esp
push eax
call fcn.00403a90
lea ecx, [esp + 0x88]
call fcn.004dcf90
lea ecx, [esp + 0x38]
call fcn.00402330
inc esi
cmp esi, edi
jl 0x402130
lea ecx, [esp + 0x1c]
call fcn.004022a0
jmp 0x4021e8
call fcn.00401bd0
push str.Unknown_command
push str.BGProcessor
push eax
call fcn.00412dc0
add esp, 0xc
lea ecx, [esp + 0x10]
call fcn.00402390
lea ecx, [esp + 0x50]
call fcn.00402930
lea ecx, [esp + 0x40]
call fcn.00402420
jmp 0x401e80