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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x194
mov eax, dword [0x6d8004]
xor eax, esp
mov dword [esp + 0x190], eax
push ebx
xor ebx, ebx
push esi
mov esi, ebx
mov dword [0x6d9124], ebx
push edi
mov edi, ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
cmp dword [0x6d8a28], ebx
jne 0x6d3c10
push 4
mov edx, 0x6d9a2c
mov ecx, 0x6d12a8
call fcn.006d46ea
test eax, eax
je 0x6d3bf0
cmp eax, 4
jbe 0x6d3c10
push ebx
push 0x10
push ebx
push ebx
mov edx, 0x4b1
xor ecx, ecx
call fcn.006d44d8
mov dword [0x6d9124], 0x80070714
jmp 0x6d3f47
mov dword [esp + 0x1c], ebx
and dword [esp + 0x14], 0
lea eax, [esp + 0x48]
push 0x44
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esp + 0x48], 0x44
cmp byte [0x6d8c42], 0
jne 0x6d3d30
push 4
lea edx, [esp + 0x1c]
mov ecx, 0x6d12b0
call fcn.006d46ea
test eax, eax
je 0x6d3d24
cmp eax, 4
ja 0x6d3d24
xor eax, eax
inc eax
cmp dword [esp + 0x18], eax
jne 0x6d3c71
mov dword [esp + 0x74], eax
xor eax, eax
jmp 0x6d3c7f
cmp dword [esp + 0x18], 2
jne 0x6d3c86
push 6
mov dword [esp + 0x78], eax
pop eax
mov word [esp + 0x78], ax
jmp 0x6d3c98
push 3
pop ecx
cmp dword [esp + 0x18], ecx
jne 0x6d3c98
mov dword [esp + 0x74], eax
mov word [esp + 0x78], cx
test ebx, ebx
jne 0x6d3d48
mov ax, word [0x6d8a38]
test ax, ax
je 0x6d3d02
test al, 1
je 0x6d3cb6
mov ecx, 0x6d12bc
jmp 0x6d3cc3
test al, 2
je 0x6d3f47
mov ecx, 0x6d12c4
push 0x104
lea edx, [esp + 0x94]
call fcn.006d46ea
test eax, eax
je 0x6d3d24
push 0xffffffffffffffff
push 0x6d12a0
push 0xffffffffffffffff
lea eax, [esp + 0x9c]
push eax
push 1
push 0x7f
call dword [sym.imp.KERNEL32.dll_CompareStringA]
sub eax, 2
cmp eax, 0xfffffffe
je 0x6d3d02
xor esi, esi
inc esi
mov dword [esp + 0x20], esi
test esi, esi
jne 0x6d3d99
push 0x104
lea edx, [esp + 0x94]
mov ecx, 0x6d12cc
call fcn.006d46ea
test eax, eax
jne 0x6d3d48
xor eax, eax
push eax
push 0x10
push eax
push eax
jmp 0x6d3bf5
push ecx
push 0x6d8c42
push ecx
mov edx, 0x104
lea ecx, [esp + 0x9c]
call fcn.006d174e
xor esi, esi
inc esi
cmp ebx, esi
jne 0x6d3d99
push 0x104
lea edx, [esp + 0x94]
mov ecx, 0x6d12d8
call fcn.006d46ea
test eax, eax
je 0x6d3d24
cmp byte [0x6d8c42], 0
jne 0x6d3fd6
push 0xffffffffffffffff
push 0x6d12a0
push 0xffffffffffffffff
lea eax, [esp + 0x9c]
push eax
push esi
push 0x7f
call dword [sym.imp.KERNEL32.dll_CompareStringA]
dec eax
sub eax, esi
je 0x6d3fd6
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x98]
call fcn.006d1ad2
test eax, eax
je 0x6d3f47
mov esi, dword [esp + 0x14]
test edi, edi
jne 0x6d3de1
xor eax, eax
inc eax
cmp word [0x6d9a40], ax
je 0x6d3de1
cmp dword [0x6d8a20], 0
je 0x6d3de1
test esi, esi
jne 0x6d3de9
mov dword [esp + 0x24], eax
call fcn.006d2033
test esi, esi
je 0x6d3f05
cmp dword [0x6d8180], 0
je 0x6d3fa7
test esi, esi
je 0x6d3f05
test byte [0x6d9a34], 4
je 0x6d3f05
call fcn.006d655a
mov ebx, eax
test ebx, ebx
je 0x6d3f8e
mov esi, str.DoInfInstall
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, eax
mov dword [esp + 0x14], edx
test edx, edx
je 0x6d3f5e
and dword [esp + 0x28], 0
lea eax, [esp + 0x90]
cmp dword [0x6d8a30], 0
mov edi, dword [esp + 0x10]
mov dword [esp + 0x38], eax
mov ax, word [0x6d9a40]
mov word [esp + 0x3c], ax
movzx eax, word [0x6d8a38]
mov dword [esp + 0x2c], 0x6d9154
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], 0x6d91e4
mov dword [esp + 0x40], eax
je 0x6d3e85
or eax, 0x10000
mov dword [esp + 0x40], eax
mov ecx, dword [0x6d9a34]
test cl, 8
je 0x6d3e99
or eax, 0x20000
mov dword [esp + 0x40], eax
test cl, 0x10
je 0x6d3ea7
or eax, 0x40000
mov dword [esp + 0x40], eax
mov ecx, dword [0x6d8d48]
test cl, 0x40
je 0x6d3ebb
or eax, 0x80000
mov dword [esp + 0x40], eax
test cl, cl
jns 0x6d3ec8
or eax, 0x100000
mov dword [esp + 0x40], eax
mov eax, dword [0x6d9a38]
mov esi, esp
mov dword [esp + 0x44], eax
mov ecx, edx
lea eax, [esp + 0x28]
push eax
call dword [0x6da28c]
call dword [esp + 0x18]
cmp esi, esp
je 0x6d3eef
mov ecx, 4
int 0x29
mov dword [0x6d9124], eax
push ebx
test eax, eax
js 0x6d3f3a
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ebx, dword [esp + 0x1c]
jmp 0x6d3f18
mov edi, dword [esp + 0x10]
lea edx, [esp + 0x48]
mov ecx, edi
call fcn.006d3ff0
test eax, eax
je 0x6d3f40
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
inc ebx
mov dword [esp + 0x1c], ebx
cmp ebx, 2
jae 0x6d3fd3
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
jmp 0x6d3c14
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
mov ecx, dword [esp + 0x19c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.006d6e20
mov esp, ebp
pop ebp
ret
push 0
push 0x10
push 0
push esi
mov edx, 0x4c9
xor ecx, ecx
call fcn.006d44d8
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_LocalFree]
call fcn.006d633c
mov dword [0x6d9124], eax
jmp 0x6d3f47
push 0
push 0x10
push 0
push 0x6d11b8
mov edx, 0x4c8
xor ecx, ecx
call fcn.006d44d8
jmp 0x6d3f78
xor eax, eax
mov edx, 0x4c7
push eax
push 0x10
push eax
push eax
xor ecx, ecx
call fcn.006d44d8
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [0x6d9124], 0x8007042b
jmp 0x6d3f47
xor esi, esi
inc esi
cmp dword [0x6d8580], 0
je 0x6d3fe4
call fcn.006d2269
mov eax, esi
jmp 0x6d3f49