Function at 0x4143e0
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4bcc62
mov eax, dword fs:[0]
push eax
sub esp, 0x11c
mov eax, dword [0x4f36a0]
xor eax, esp
mov dword [esp + 0x118], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4f36a0]
xor eax, esp
push eax
lea eax, [esp + 0x130]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x140]
mov eax, dword [esp + 0x144]
push 0x4d6464
push 0x4d6464
mov dword [esp + 0x24], ebp
mov edi, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
lea esi, [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
call fcn.00403650
push 0x4d6464
push 0x4d6464
add ebp, 0xc
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
mov esi, ebp
call fcn.00403650
xor ebx, ebx
mov dword [esp + 0x34], fcn.00499078
mov dword [esp + 0x38], fcn.0049b4da
mov dword [esp + 0x3c], fcn.00498f5b
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], 0x8000
mov dword [esp + 0x30], vtable.t_heap.0
mov dword [esp + 0x48], ebx
mov byte [esp + 0x4c], bl
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x138], ebx
mov eax, dword [edx + 0x10]
push 0x3a8
push eax
push edi
lea ecx, [esp + 0x3c]
call fcn.0044fc90
test al, al
jne 0x41452f
mov eax, dword [esp + 0x1c]
mov ebp, dword [eax + 0x10]
mov ecx, edi
call fcn.00447720
mov esi, eax
push 0x4dc3e4
push 0x4d65ac
mov edx, esi
call fcn.00448ff0
push ebp
push 0x4d65ac
mov edx, esi
call fcn.00448ff0
mov dword [esp + 0x148], 0xffffffff
mov eax, dword [esp + 0x50]
add esp, 0x10
mov dword [esp + 0x30], vtable.allocator_unsigned_char__class_TAllocDefault_.0
cmp eax, ebx
je 0x414528
mov ecx, dword [eax + 4]
push eax
mov dword [esp + 0x44], ecx
call dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add esp, 4
cmp eax, ebx
jne 0x414511
xor al, al
jmp 0x414ced
push str.version
mov ecx, str.product0
lea eax, [esp + 0x34]
call fcn.0044fa50
mov esi, eax
cmp esi, ebx
je 0x414551
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
push esi
mov esi, dword [esp + 0x20]
call fcn.00403650
mov eax, esi
call fcn.00414380
test al, al
jne 0x4145b0
mov edx, esi
mov ebx, dword [edx + 0x10]
mov ecx, edi
call fcn.00447720
mov esi, eax
push 0x4dc640
push 0x4d65ac
mov edx, esi
call fcn.00448ff0
push ebx
push 0x4d65ac
mov edx, esi
call fcn.00448ff0
add esp, 0x10
lea ecx, [esp + 0x30]
mov dword [esp + 0x138], 0xffffffff
call fcn.0043f0d0
xor al, al
jmp 0x414ced
mov ebx, esi
mov ecx, dword [ebx]
call fcn.0040e640
mov eax, dword [esp + 0x24]
add eax, 0x28
mov edi, ebx
call fcn.0040a460
xor edi, edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
lea eax, [esp + 0x18]
push eax
push 0x20019
push edi
push str.SoftwareSogouInput
mov byte [esp + 0x148], 1
push reloc.WS2_32.dll_bind
mov dword [esp + 0x2c], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, edi
jne 0x414657
mov ecx, dword [esp + 0x18]
push 0x7e
lea eax, [esp + 0xb2]
xor edx, edx
push edi
push eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], edi
mov word [esp + 0xb8], dx
call fcn.0049ca10
add esp, 0xc
push str.version
lea ecx, [esp + 0x54]
push ecx
lea edi, [esp + 0x20]
lea esi, [esp + 0xb4]
mov dword [esp + 0x20], 0x40
call fcn.00407350
test eax, eax
jne 0x414655
lea eax, [ebx + 4]
mov edi, esi
call fcn.004036c0
xor edi, edi
mov edx, dword [ebx + 4]
mov ebx, dword [ebx]
mov ecx, ebx
call fcn.00409300
test eax, eax
jle 0x41466e
mov edx, dword [esp + 0x20]
mov byte [edx], 1
push 0x4dc428
mov ecx, str.product0
lea eax, [esp + 0x34]
call fcn.0044fa50
mov esi, eax
cmp esi, edi
jne 0x41468b
xor eax, eax
jmp 0x414692
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, dword [esp + 0x1c]
push esi
mov ebx, eax
lea esi, [edi + 8]
call fcn.00403650
push 0x4dc430
mov ecx, str.product0
lea eax, [esp + 0x34]
call fcn.0044fa50
mov esi, eax
test esi, esi
je 0x4146c1
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
mov ebx, eax
mov esi, ebp
call fcn.00403650
push str.filesize
mov ecx, str.product0
lea eax, [esp + 0x34]
call fcn.0044fa50
mov esi, eax
add edi, 0x34
mov dword [esp + 0x18], edi
test esi, esi
je 0x4146f2
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
mov ebx, eax
mov esi, edi
call fcn.00403650
push str.sgimeupinfo
lea ecx, [esp + 0x34]
call fcn.0044fa00
mov esi, dword [esp + 0x24]
xor ebx, ebx
push str.sgimesodaforceup
lea ecx, [esp + 0x34]
mov edi, eax
mov byte [esi + 0x22], bl
call fcn.0044fa00
cmp eax, ebx
mov al, 1
je 0x41472c
mov byte [esi + 0x22], al
cmp edi, ebx
jne 0x41473a
mov byte [esi], bl
mov byte [esi + 0x20], bl
mov byte [esi + 0x21], al
jmp 0x414740
mov byte [esi + 0x20], al
mov byte [esi + 0x21], bl
push str.sgimeforceup
lea ecx, [esp + 0x34]
call fcn.0044fa00
cmp eax, ebx
setne al
mov byte [esi + 0x23], al
push str.sharetime
mov ecx, str.sgimeupinfo
lea eax, [esp + 0x34]
call fcn.0044fa50
mov ebp, dword [esp + 0x1c]
mov esi, eax
add ebp, 0x38
cmp esi, ebx
jne 0x41477a
xor eax, eax
jmp 0x414781
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
mov ebx, eax
mov esi, ebp
call fcn.00403650
push str.uploadspeed
mov ecx, str.sgimeupinfo
lea eax, [esp + 0x34]
call fcn.0044fa50
mov esi, dword [esp + 0x1c]
mov edi, eax
add esi, 0x40
test edi, edi
je 0x4147b2
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push edi
mov ebx, eax
call fcn.00403650
xor ecx, ecx
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], ecx
mov byte [esp + 0x94], cl
mov byte [esp + 0x138], 2
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
lea edx, [esp + 0x90]
push edx
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], 7
mov word [esi + 4], cx
mov ecx, eax
mov dword [esp + 0x40], esp
lea edi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x414807
sub ecx, edi
sar ecx, 1
push ecx
call fcn.00405e30
call fcn.0041a930
cmp dword [esp + 0xa8], 0x10
mov eax, dword [esp + 0x94]
jae 0x414839
lea eax, [esp + 0x94]
push eax
call fcn.0049b120
mov ebx, dword [esp + 0x28]
xor ecx, ecx
add esp, 4
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov dword [esp + 0x70], 0xf
mov dword [esp + 0x6c], ecx
mov byte [esp + 0x5c], cl
lea edx, [esp + 0x58]
push edx
mov byte [esp + 0x13c], 3
mov eax, dword [ebp]
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], 7
mov word [esi + 4], cx
mov ecx, eax
mov dword [esp + 0x40], esp
lea edx, [ecx + 2]
xor ebp, ebp
lea esp, [esp]
mov di, word [ecx]
add ecx, 2
cmp di, bp
jne 0x414890
sub ecx, edx
sar ecx, 1
push ecx
call fcn.00405e30
call fcn.0041a930
mov ecx, dword [esp + 0x6c]
xor esi, esi
cmp ecx, ebp
mov edi, 0x2bf20
jle 0x414902
cmp ecx, esi
ja 0x4148c6
call fcn.004b773b
mov ecx, dword [esp + 0x6c]
cmp dword [esp + 0x70], 0x10
mov eax, dword [esp + 0x5c]
jae 0x4148d5
lea eax, [esp + 0x5c]
cmp byte [eax + esi], 0x39
jg 0x41492a
cmp ecx, esi
ja 0x4148e8
call fcn.004b773b
mov ecx, dword [esp + 0x6c]
cmp dword [esp + 0x70], 0x10
mov eax, dword [esp + 0x5c]
jae 0x4148f7
lea eax, [esp + 0x5c]
cmp byte [eax + esi], 0x30
jl 0x41492a
inc esi
cmp ecx, esi
jg 0x4148bb
cmp dword [esp + 0x70], 0x10
mov eax, dword [esp + 0x5c]
jae 0x414911
lea eax, [esp + 0x5c]
push eax
call fcn.0049b120
add esp, 4
cmp edx, ebp
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jg 0x414930
jl 0x41492a
cmp eax, ebp
ja 0x414930
mov dword [ebx + 0x14], ebp
mov dword [ebx + 0x10], edi
mov eax, dword [esp + 0x48]
cmp eax, ebp
je 0x414963
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x28]
push edx
lea edi, [esp + 0x34]
mov dword [esp + 0x2c], str.sgimeupdcshareinfo
call fcn.00450bb0
cmp eax, ebp
je 0x414963
mov eax, dword [eax + 4]
cmp eax, ebp
jne 0x414967
xor esi, esi
jmp 0x414994
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x28]
push ecx
lea edi, [esp + 0x24]
mov dword [esp + 0x2c], str.sharetime
call fcn.00450bb0
cmp eax, ebp
je 0x414990
mov eax, dword [eax + 4]
jmp 0x414992
xor eax, eax
mov esi, eax
mov ebp, dword [esp + 0x1c]
add ebp, 0x3c
test esi, esi
jne 0x4149a3
xor eax, eax
jmp 0x4149aa
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
mov ebx, eax
mov esi, ebp
call fcn.00403650
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4149e7
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x28]
push edx
lea edi, [esp + 0x24]
mov dword [esp + 0x2c], str.sgimeupdcshareinfo
call fcn.00450bb0
test eax, eax
je 0x4149e7
mov eax, dword [eax + 4]
test eax, eax
jne 0x4149eb
xor edi, edi
jmp 0x414a18
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x28]
push ecx
lea edi, [esp + 0x24]
mov dword [esp + 0x2c], str.uploadspeed
call fcn.00450bb0
test eax, eax
je 0x414a14
mov eax, dword [eax + 4]
jmp 0x414a16
xor eax, eax
mov edi, eax
mov esi, dword [esp + 0x1c]
add esi, 0x44
test edi, edi
jne 0x414a27
xor eax, eax
jmp 0x414a2e
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push edi
mov ebx, eax
call fcn.00403650
xor ebx, ebx
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], ebx
mov byte [esp + 0x78], bl
lea edx, [esp + 0x74]
mov byte [esp + 0x138], 4
mov eax, dword [ebp]
push edx
sub esp, 0x1c
mov esi, esp
xor ecx, ecx
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
mov word [esi + 4], cx
mov ecx, eax
mov dword [esp + 0x48], esp
lea edi, [ecx + 2]
lea esp, [esp]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x414a80
sub ecx, edi
sar ecx, 1
push ecx
call fcn.00405e30
call fcn.0041a930
mov ecx, dword [esp + 0x88]
xor esi, esi
cmp ecx, ebx
jle 0x414b07
cmp ecx, esi
ja 0x414ab7
call fcn.004b773b
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x78]
mov edi, 0x10
cmp dword [esp + 0x8c], edi
jae 0x414acd
lea eax, [esp + 0x78]
cmp byte [eax + esi], 0x39
jg 0x414bba
cmp ecx, esi
ja 0x414ae7
call fcn.004b773b
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x78]
cmp dword [esp + 0x8c], edi
jae 0x414af8
lea eax, [esp + 0x78]
cmp byte [eax + esi], 0x30
jl 0x414bba
inc esi
cmp ecx, esi
jg 0x414aa9
cmp dword [esp + 0x8c], 0x10
mov eax, dword [esp + 0x78]
jae 0x414b19
lea eax, [esp + 0x78]
push eax
call fcn.0049b120
mov ecx, dword [esp + 0x28]
add esp, 4
cmp edx, ebx
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
jg 0x414b40
jl 0x414b36
cmp eax, ebx
ja 0x414b40
mov dword [ecx + 0x18], 0x2bf20
mov dword [ecx + 0x1c], ebx
mov ebp, dword [esp + 0x1c]
mov eax, dword [ebp + 8]
lea edi, [ebp + 8]
push 0x2f
push eax
call fcn.00499142
add esp, 8
cmp eax, ebx
je 0x414c2b
sub eax, dword [edi]
sar eax, 1
cmp eax, ebx
jle 0x414c2b
lea edx, [eax + 1]
lea esi, [esp + 0x18]
mov eax, edi
call fcn.0040f000
mov edi, eax
mov byte [esp + 0x138], 5
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edi]
lea esi, [ebp + 0x1c]
mov ebp, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ecx
je 0x414c02
cmp dword [eax - 0xc], ebx
lea edx, [eax - 0xc]
jge 0x414ba8
lea ebx, [eax - 0xc]
cmp ebx, 0x4f9f74
jne 0x414bad
xor ebx, ebx
cmp dword [ecx - 0xc], ebx
jge 0x414bcd
mov ebx, dword [ecx - 8]
push ecx
call fcn.00403650
xor ebx, ebx
jmp 0x414c02
mov eax, dword [esp + 0x24]
mov dword [eax + 0x18], 0x2bf20
mov dword [eax + 0x1c], ebx
jmp 0x414b40
add eax, 0xfffffff4
cmp eax, 0x4f9f74
je 0x414bf4
push edx
call ebp
test eax, eax
jg 0x414bec
mov eax, dword [esi]
sub eax, 0xc
push eax
call fcn.00498b08
add esp, 4
mov edx, dword [0x4f9f84]
mov dword [esi], edx
mov edi, dword [edi]
mov dword [esi], edi
add edi, 0xfffffff4
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0x18]
lea ecx, [eax - 0xc]
cmp ecx, 0x4f9f74
je 0x414c2b
add eax, 0xfffffff4
push eax
call ebp
test eax, eax
jg 0x414c2b
mov eax, dword [esp + 0x18]
add eax, 0xfffffff4
push eax
call fcn.00498b08
add esp, 4
mov edi, 0x10
cmp dword [esp + 0x8c], edi
jb 0x414c46
mov edx, dword [esp + 0x78]
push edx
call fcn.00498355
add esp, 4
mov esi, 0xf
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], ebx
mov byte [esp + 0x78], bl
cmp dword [esp + 0x70], edi
jb 0x414c70
mov eax, dword [esp + 0x5c]
push eax
call fcn.00498355
add esp, 4
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x5c], bl
cmp dword [esp + 0xa8], edi
jb 0x414c95
mov ecx, dword [esp + 0x94]
push ecx
call fcn.00498355
add esp, 4
mov eax, dword [esp + 0x50]
mov dword [esp + 0xa8], esi
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x94], bl
cmp eax, ebx
je 0x414cb9
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x138], 0xffffffff
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], vtable.allocator_unsigned_char__class_TAllocDefault_.0
cmp eax, ebx
je 0x414ceb
mov edx, dword [eax + 4]
push eax
mov dword [esp + 0x44], edx
call dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add esp, 4
cmp eax, ebx
jne 0x414cd4
mov al, 1
mov ecx, dword [esp + 0x130]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.00497c58
add esp, 0x128
ret 8