Function at 0x40ff70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4ca692
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x50d488]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push esi
push edi
mov eax, dword [0x50d488]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov dword [esp + 0x2c], ecx
push 1
push 0
push 0
push 0
lea ebx, [ecx + 0x2c]
mov dword [esp + 0x44], 0
push 0xc
push 0x4ed55c
mov ecx, ebx
call fcn.00452d50
push 1
push 0
push 0
push 0
push 0xc
push 0x4ed55c
push 0
mov ecx, ebx
call fcn.0044d3d0
push 1
push 0
push 0
push 0
push 0xe
push 0x4ed55c
push 1
mov ecx, ebx
call fcn.0044d3d0
push 1
push 0
push 0
push 0
push 0x10
push 0x4ed55c
push 2
mov ecx, ebx
call fcn.0044d3d0
push 1
push 0
push 0
push 0
push 0x12
push 0x4ed55c
push 3
mov ecx, ebx
call fcn.0044d3d0
push 1
push 0
push 0
push 0
push 0x14
push 0x4ed55c
push 4
mov ecx, ebx
call fcn.0044d3d0
push 1
push 0
push 0
push 0
push 0x16
push 0x4ed55c
push 5
mov ecx, ebx
call fcn.0044d3d0
push 1
push 0
push 0
push 0
push 0x18
push 0x4ed55c
push 6
mov ecx, ebx
call fcn.0044d3d0
mov eax, dword [0x517344]
test eax, eax
jne 0x4100af
push 0x50
call fcn.00494625
add esp, 4
mov dword [esp + 0x30], eax
mov dword [esp + 0x78], 0
test eax, eax
je 0x4100a0
mov ecx, eax
call fcn.0040d610
jmp 0x4100a2
xor eax, eax
mov dword [esp + 0x78], 0xffffffff
mov dword [0x517344], eax
lea ecx, [esp + 0x50]
push ecx
mov ecx, eax
call fcn.0040dea0
mov dword [esp + 0x78], 1
xor edi, edi
jmp 0x4100d0
cmp dword [esp + 0x64], 8
lea eax, [esp + 0x50]
cmovae eax, dword [esp + 0x50]
push eax
push str.load_language__s
push 0x5a
push str.DNDownloaderMainFrame::InitWindow
call fcn.0040c6c0
cmp dword [esp + 0x74], 8
lea ecx, [esp + 0x44]
lea eax, [esp + 0x60]
cmovae eax, dword [esp + 0x60]
push ecx
push eax
call fcn.0044e6e0
mov ebx, eax
add esp, 0x18
mov dword [esp + 0x30], ebx
test ebx, ebx
je 0x410245
mov ecx, dword [esp + 0x34]
inc ecx
push ecx
call fcn.004494b9
mov ecx, dword [esp + 0x38]
add esp, 4
inc ecx
mov esi, eax
push ecx
push 0
push esi
call fcn.0049e980
add esp, 0xc
push dword [esp + 0x34]
push ebx
push esi
call fcn.0049d050
add esp, 0xc
mov dword [esp + 0x28], 0xf
cmp byte [esi], 0
mov dword [esp + 0x24], 0
mov byte [esp + 0x14], 0
jne 0x410167
xor ecx, ecx
jmp 0x410179
mov ecx, esi
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410170
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x1c]
call fcn.00407d40
lea edx, [esp + 0x14]
mov byte [esp + 0x78], 2
lea ecx, [esp + 0x38]
call fcn.00409bc0
mov byte [esp + 0x78], 4
cmp dword [esp + 0x28], 0x10
jb 0x4101ae
push dword [esp + 0x14]
call fcn.00494620
add esp, 4
mov eax, dword [0x51638c]
mov dword [esp + 0x28], 0xf
mov dword [esp + 0x24], 0
mov byte [esp + 0x14], 0
test eax, eax
jne 0x41020d
push 0x540
call fcn.00494625
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
mov byte [esp + 0x78], 5
test esi, esi
je 0x410201
push 0x540
push 0
push esi
call fcn.0049e980
add esp, 0xc
mov ecx, esi
call fcn.00417830
jmp 0x410203
xor eax, eax
mov byte [esp + 0x78], 4
mov dword [0x51638c], eax
lea ecx, [esp + 0x38]
push ecx
mov ecx, eax
call fcn.0041f7e0
push dword [esp + 0x30]
mov bl, al
call fcn.00495dcf
add esp, 4
mov byte [esp + 0x78], 1
test bl, bl
jne 0x410274
cmp dword [esp + 0x4c], 8
jb 0x410260
push dword [esp + 0x38]
call fcn.00494620
add esp, 4
jmp 0x410260
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.get_resource_error.__d
push 0x69
push str.DNDownloaderMainFrame::InitWindow
call fcn.0040c6c0
add esp, 0x10
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 3
jl 0x4100d0
jmp 0x410287
cmp dword [esp + 0x4c], 8
jb 0x410287
push dword [esp + 0x38]
call fcn.00494620
add esp, 4
mov esi, dword [esp + 0x2c]
mov ecx, esi
call fcn.0044b420
mov edi, eax
mov dword [esp + 0x28], 7
push 0xe
xor eax, eax
mov dword [esp + 0x28], 0
push str.Title_wndTitle
lea ecx, [esp + 0x1c]
mov word [esp + 0x1c], ax
call fcn.00407010
mov byte [esp + 0x78], 6
mov eax, dword [0x51638c]
test eax, eax
jne 0x41030e
push 0x540
call fcn.00494625
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
mov byte [esp + 0x78], 7
test esi, esi
je 0x4102fe
push 0x540
push 0
push esi
call fcn.0049e980
add esp, 0xc
mov ecx, esi
call fcn.00417830
jmp 0x410300
xor eax, eax
mov esi, dword [esp + 0x2c]
mov byte [esp + 0x78], 6
mov dword [0x51638c], eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.0041f710
push eax
push edi
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov byte [esp + 0x78], 1
cmp dword [esp + 0x28], 8
jb 0x41033a
push dword [esp + 0x14]
call fcn.00494620
add esp, 4
mov ecx, esi
call fcn.004119c0
mov ecx, esi
call fcn.00412f80
lea ebx, [esi + 0x2c]
push str.pathedit
mov ecx, ebx
call fcn.0044dec0
mov edi, eax
mov eax, dword [0x51638c]
test eax, eax
jne 0x4103a3
push 0x540
call fcn.00494625
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
mov byte [esp + 0x78], 8
test esi, esi
je 0x410397
push 0x540
push 0
push esi
call fcn.0049e980
add esp, 0xc
mov ecx, esi
call fcn.00417830
jmp 0x410399
xor eax, eax
mov byte [esp + 0x78], 1
mov dword [0x51638c], eax
lea ecx, [esp + 0x38]
push ecx
mov ecx, eax
call fcn.00419a00
mov ecx, eax
mov byte [esp + 0x78], 9
cmp dword [ecx + 0x14], 8
jb 0x4103be
mov ecx, dword [ecx]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x3c]
mov byte [esp + 0x78], 1
cmp dword [esp + 0x4c], 8
jb 0x4103de
push dword [esp + 0x38]
call fcn.00494620
add esp, 4
push str.addQQGroupBtn
mov ecx, ebx
call fcn.0044dec0
push str.joinfacebookBtn
mov ecx, ebx
call fcn.0044dec0
mov edi, eax
mov dword [esp + 0x28], 7
push 8
xor eax, eax
mov dword [esp + 0x28], 0
push str.facebook
lea ecx, [esp + 0x1c]
mov word [esp + 0x1c], ax
call fcn.00407010
mov byte [esp + 0x78], 0xa
mov eax, dword [0x51638c]
test eax, eax
jne 0x41046e
push 0x540
call fcn.00494625
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
mov byte [esp + 0x78], 0xb
test esi, esi
je 0x410462
push 0x540
push 0
push esi
call fcn.0049e980
add esp, 0xc
mov ecx, esi
call fcn.00417830
jmp 0x410464
xor eax, eax
mov byte [esp + 0x78], 0xa
mov dword [0x51638c], eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.0041f710
mov edx, dword [edi]
mov ecx, edi
push eax
call dword [edx + 0xb0]
mov byte [esp + 0x78], 1
cmp dword [esp + 0x28], 8
jb 0x41049d
push dword [esp + 0x14]
call fcn.00494620
add esp, 4
push str.titlename
mov ecx, ebx
call fcn.0044dec0
push str.installFinishLabel
mov ecx, ebx
call fcn.0044dec0
mov edi, eax
mov dword [esp + 0x28], 7
push 0xd
xor eax, eax
mov dword [esp + 0x28], 0
push str.installSucess
lea ecx, [esp + 0x1c]
mov word [esp + 0x1c], ax
call fcn.00407010
mov byte [esp + 0x78], 0xc
mov eax, dword [0x51638c]
test eax, eax
jne 0x41052d
push 0x540
call fcn.00494625
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
mov byte [esp + 0x78], 0xd
test esi, esi
je 0x410521
push 0x540
push 0
push esi
call fcn.0049e980
add esp, 0xc
mov ecx, esi
call fcn.00417830
jmp 0x410523
xor eax, eax
mov byte [esp + 0x78], 0xc
mov dword [0x51638c], eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.0041f710
mov edx, dword [edi]
mov ecx, edi
push eax
call dword [edx + 0x3c]
mov byte [esp + 0x78], 1
cmp dword [esp + 0x28], 8
jb 0x410559
push dword [esp + 0x14]
call fcn.00494620
add esp, 4
push str.protocoledit
mov ecx, ebx
call fcn.0044dec0
mov esi, eax
lea eax, [esp + 0x38]
push eax
call fcn.00416170
mov ecx, eax
mov byte [esp + 0x78], 0xe
cmp dword [ecx + 0x14], 8
jb 0x410580
mov ecx, dword [ecx]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x3c]
mov byte [esp + 0x78], 1
cmp dword [esp + 0x4c], 8
jb 0x4105a0
push dword [esp + 0x38]
call fcn.00494620
add esp, 4
push str.confirmprotocolbtn
mov ecx, ebx
call fcn.0044dec0
mov edi, eax
mov dword [esp + 0x28], 7
push 0xf
xor eax, eax
mov dword [esp + 0x28], 0
push str.accept_protocol
lea ecx, [esp + 0x1c]
mov word [esp + 0x1c], ax
call fcn.00407010
mov byte [esp + 0x78], 0xf
mov eax, dword [0x51638c]
test eax, eax
jne 0x410624
push 0x540
call fcn.00494625
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
mov byte [esp + 0x78], 0x10
test esi, esi
je 0x410618
push 0x540
push 0
push esi
call fcn.0049e980
add esp, 0xc
mov ecx, esi
call fcn.00417830
jmp 0x41061a
xor eax, eax
mov byte [esp + 0x78], 0xf
mov dword [0x51638c], eax
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call fcn.0041f710
mov edx, dword [edi]
mov ecx, edi
push eax
call dword [edx + 0x3c]
mov byte [esp + 0x78], 1
cmp dword [esp + 0x28], 8
jb 0x410650
push dword [esp + 0x14]
call fcn.00494620
add esp, 4
push str.cacheDataLayout
mov ecx, ebx
call fcn.0044dec0
mov esi, dword [0x51638c]
test esi, esi
jne 0x4106f6
push 0x540
call fcn.00494625
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
mov byte [esp + 0x78], 0x11
test esi, esi
je 0x4106a1
push 0x540
push 0
push esi
call fcn.0049e980
add esp, 0xc
mov ecx, esi
call fcn.00417830
mov esi, eax
jmp 0x4106a3
xor esi, esi
mov byte [esp + 0x78], 1
mov dword [0x51638c], esi
test esi, esi
jne 0x4106f6
push 0x540
call fcn.00494625
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
mov byte [esp + 0x78], 0x12
test esi, esi
je 0x4106e9
push 0x540
push 0
push esi
call fcn.0049e980
add esp, 0xc
mov ecx, esi
call fcn.00417830
mov esi, eax
jmp 0x4106eb
xor esi, esi
mov byte [esp + 0x78], 1
mov dword [0x51638c], esi
mov ecx, dword [esi + 0x30]
lea edi, [esi + 0x20]
test ecx, ecx
je 0x41071b
mov edx, dword [ecx]
cmp ecx, edi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov esi, dword [0x51638c]
mov dword [edi + 0x10], 0
mov ebx, dword [esp + 0x2c]
mov dword [edi], vtable.._AV___Func_impl_U___Callable_obj_V_lambda_55043a5e95ddac14916524964d463e0d____0A__std__V__allocator_V___Func_class_X___V_std___2_X___V_std__.0
mov dword [edi + 4], ebx
mov dword [edi + 0x10], edi
test esi, esi
jne 0x410773
push 0x540
call fcn.00494625
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
mov byte [esp + 0x78], 0x13
test esi, esi
je 0x410766
push 0x540
push 0
push esi
call fcn.0049e980
add esp, 0xc
mov ecx, esi
call fcn.00417830
mov esi, eax
jmp 0x410768
xor esi, esi
mov byte [esp + 0x78], 1
mov dword [0x51638c], esi
mov ecx, dword [esi + 0x48]
lea edi, [esi + 0x38]
test ecx, ecx
je 0x410798
mov edx, dword [ecx]
cmp ecx, edi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov esi, dword [0x51638c]
mov dword [edi + 0x10], 0
mov dword [edi], vtable.._AV___Func_impl_U___Callable_obj_V_lambda_5f7c401e2b713a04a7681286c7b6c781____0A__std__V__allocator_V___Func_class_X___V_std___2_X___V_std__.0
mov dword [edi + 4], ebx
mov dword [edi + 0x10], edi
test esi, esi
jne 0x4107ec
push 0x540
call fcn.00494625
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
mov byte [esp + 0x78], 0x14
test esi, esi
je 0x4107df
push 0x540
push 0
push esi
call fcn.0049e980
add esp, 0xc
mov ecx, esi
call fcn.00417830
mov esi, eax
jmp 0x4107e1
xor esi, esi
mov byte [esp + 0x78], 1
mov dword [0x51638c], esi
mov ecx, dword [esi + 0x18]
lea edi, [esi + 8]
test ecx, ecx
je 0x410811
mov edx, dword [ecx]
cmp ecx, edi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov esi, dword [0x51638c]
mov dword [edi + 0x10], 0
mov dword [edi], vtable.std::_Func_impl_struct_std::_Callable_obj_class__lambda_dd9594a7535d5c57e381cd96fa31abce___0___class_std::allocator_class_std::_Func_class_void__int__int__int____void__int__int__int_.0
mov dword [edi + 4], ebx
mov dword [edi + 0x10], edi
test esi, esi
jne 0x410865
push 0x540
call fcn.00494625
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
mov byte [esp + 0x78], 0x15
test esi, esi
je 0x410858
push 0x540
push 0
push esi
call fcn.0049e980
add esp, 0xc
mov ecx, esi
call fcn.00417830
mov esi, eax
jmp 0x41085a
xor esi, esi
mov byte [esp + 0x78], 1
mov dword [0x51638c], esi
mov ecx, dword [esi + 0x60]
lea edi, [esi + 0x50]
test ecx, ecx
je 0x41088a
mov edx, dword [ecx]
cmp ecx, edi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov esi, dword [0x51638c]
mov dword [edi + 0x10], 0
mov dword [edi], vtable.std::_Func_impl_struct_std::_Callable_obj_class__lambda_42e14b2606f2ffd4e32adbafb47f21a3___0___class_std::allocator_class_std::_Func_class_void__bool____void__bool_.0
mov dword [edi + 4], ebx
mov dword [edi + 0x10], edi
test esi, esi
jne 0x4108de
push 0x540
call fcn.00494625
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
mov byte [esp + 0x78], 0x16
test esi, esi
je 0x4108d1
push 0x540
push 0
push esi
call fcn.0049e980
add esp, 0xc
mov ecx, esi
call fcn.00417830
mov esi, eax
jmp 0x4108d3
xor esi, esi
mov byte [esp + 0x78], 1
mov dword [0x51638c], esi
mov ecx, dword [esi + 0x78]
lea edi, [esi + 0x68]
test ecx, ecx
je 0x410903
mov edx, dword [ecx]
cmp ecx, edi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov esi, dword [0x51638c]
mov dword [edi + 0x10], 0
mov dword [edi], vtable.std::_Func_impl_struct_std::_Callable_obj_class__lambda_4382269f208a443effb59da82c08f274___0___class_std::allocator_class_std::_Func_class_void__bool____void__bool_.0
mov dword [edi + 4], ebx
mov dword [edi + 0x10], edi
test esi, esi
jne 0x410957
push 0x540
call fcn.00494625
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
mov byte [esp + 0x78], 0x17
test esi, esi
je 0x41094a
push 0x540
push 0
push esi
call fcn.0049e980
add esp, 0xc
mov ecx, esi
call fcn.00417830
mov esi, eax
jmp 0x41094c
xor esi, esi
mov byte [esp + 0x78], 1
mov dword [0x51638c], esi
mov ecx, ebx
call fcn.0044b420
mov dword [esi + 0x388], eax
cmp dword [esp + 0x64], 8
jb 0x410977
push dword [esp + 0x50]
call fcn.00494620
add esp, 4
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.004944c3
mov esp, ebp
pop ebp
ret