Function at 0x43886c
Capabilities:
Check os version
Link many functions at runtime

Disassembly:
push edi
push esi
push ebp
push ebx
mov eax, 0x16f8
call fcn.004639e0
xor ebx, ebx
xor edx, edx
xor ecx, ecx
lea esi, [esp + 0x1c]
mov dword [esp + 0x10], edx
mov edi, dword [esp + 0x1714]
mov dword [esp + 0xc], ecx
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x438893
call fcn.00439be0
movzx eax, al
test eax, eax
jne 0x4388c2
call fcn.00439c00
movzx eax, al
test eax, eax
jne 0x4388c2
xor eax, eax
add esp, 0x16f8
pop ebx
pop ebp
pop esi
pop edi
ret
mov dword [esp + 0x11c], 0x94
lea edx, [esp + 0x11c]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x4388b5
mov ecx, dword [esp + 0x12c]
cmp ecx, 2
jne 0x438900
mov edx, dword [esp + 0x120]
cmp edx, 4
jne 0x438900
mov edx, 1
mov dword [esp + 0x10], edx
cmp ecx, 2
jne 0x43891a
mov edx, dword [esp + 0x120]
cmp edx, 5
jb 0x43891a
mov edx, 1
mov dword [esp + 0xc], edx
call fcn.00439c20
mov dword [esp + 0x14], eax
call fcn.00439d80
mov dword [esp + 0x18], eax
call fcn.00439dac
mov ebp, eax
push 1
call fcn.00439dd8
mov dword [esp + 8], eax
push 0
call fcn.00439e5c
mov dword [esp + 8], eax
push 0
call fcn.00439e8c
mov dword [esp + 0x14], eax
add esp, 0xc
lea esi, [esp + 0x1b0]
mov edi, 0x4a02a0
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x438963
lea esi, [esp + 0x2b0]
mov edi, 0x4a02ac
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x438979
lea esi, [esp + 0x3b0]
mov edi, 0x4a02bc
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x43898f
mov edx, dword [esp + 0x14]
test edx, edx
je 0x4389b4
lea esi, [esp + 0x1b0]
mov edi, edx
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x4389aa
mov edx, dword [esp + 0x18]
test edx, edx
je 0x4389cf
lea esi, [esp + 0x2b0]
mov edi, edx
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x4389c5
test ebp, ebp
je 0x4389e6
lea esi, [esp + 0x3b0]
mov edi, ebp
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x4389dc
lea edx, [esp + 0x1b0]
push edx
call fcn.00439ebc
lea edx, [esp + 0x2b4]
push edx
call fcn.00439f00
lea edx, [esp + 0x3b8]
push edx
call fcn.00439f28
mov edx, dword [esp + 0x10]
push edx
call fcn.00439f50
mov edx, dword [esp + 0x10]
push edx
call fcn.00439f98
mov edx, dword [esp + 0x1c]
push edx
call fcn.00439fc0
add esp, 0x18
mov edx, dword [esp + 0x14]
test edx, edx
je 0x438a54
lea esi, [esp + 0x1b0]
mov edi, edx
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x438a3f
mov edx, dword [esp + 0x14]
push edx
call fcn.00463168
pop ecx
mov edx, dword [esp + 0x18]
test edx, edx
je 0x438a7a
lea esi, [esp + 0x2b0]
mov edi, edx
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x438a65
mov edx, dword [esp + 0x18]
push edx
call fcn.00463168
pop ecx
test ebp, ebp
je 0x438a98
lea esi, [esp + 0x3b0]
mov edi, ebp
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x438a87
push ebp
call fcn.00463168
pop ecx
lea edi, [esp + 0x1b0]
mov esi, 0x4971f4
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x438ac4
or dl, dl
je 0x438ac0
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x438ac4
add edi, 2
add esi, 2
or dl, dl
jne 0x438aa4
xor eax, eax
jmp 0x438ac9
sbb eax, eax
or eax, 1
test eax, eax
je 0x438d0b
lea edx, [esp + 0x4b0]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x438b27
lea edx, [esp + 0x4b0]
push 0x5c
push edx
call fcn.00463550
add esp, 8
test eax, eax
je 0x4388b5
mov byte [eax], 0
lea edi, [esp + 0x4b0]
mov edx, 0x4a02c8
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x438b1d
lea edx, [esp + 0x4b0]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x439b69
push 0x4a02dc
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x493190], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x1b0]
mov edx, dword [esp + 4]
push edx
push ecx
push ebx
mov esi, dword [esp + 0x171c]
push esi
mov edi, dword [esp + 0x171c]
push edi
call dword [0x493190]
mov ebx, eax
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x43915a
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x438baf
mov edx, dword [esp + 0xc]
test edx, edx
je 0x438c79
lea edx, [esp + 0x5b4]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x438c05
lea edx, [esp + 0x5b4]
push 0x5c
push edx
call fcn.00463550
add esp, 8
test eax, eax
je 0x4388b5
mov byte [eax], 0
lea edi, [esp + 0x5b4]
mov edx, 0x4a02e4
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x438bfb
lea edx, [esp + 0x5b4]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x439b50
push 0x4a02dc
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x493190], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x1b0]
mov edx, dword [esp + 4]
push edx
push ecx
push ebx
mov esi, dword [esp + 0x171c]
push esi
mov edi, dword [esp + 0x171c]
push edi
call dword [0x493190]
mov ebx, eax
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x43915a
call fcn.00439bc0
movzx eax, al
test eax, eax
je 0x438ca3
mov edx, dword [esp + 0xc]
test edx, edx
je 0x438ca3
mov edx, dword [esp + 4]
cmp edx, 2
je 0x439314
cmp edx, 3
je 0x439314
call fcn.00439bc0
movzx eax, al
test eax, eax
je 0x438cd9
mov edx, dword [esp + 0x10]
test edx, edx
je 0x438cd9
call fcn.00439b84
movzx eax, al
test eax, eax
je 0x438cd9
mov edx, dword [esp + 4]
cmp edx, 2
je 0x4393e3
cmp edx, 3
je 0x4393e3
call fcn.00439bc0
movzx eax, al
test eax, eax
je 0x438d0b
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x438d0b
mov edx, dword [esp + 0xc]
test edx, edx
jne 0x438d0b
mov edx, dword [esp + 4]
cmp edx, 2
je 0x4394b2
cmp edx, 3
je 0x4394b2
lea edi, [esp + 0x2b0]
mov esi, 0x4971f4
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x438d37
or dl, dl
je 0x438d33
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x438d37
add edi, 2
add esi, 2
or dl, dl
jne 0x438d17
xor eax, eax
jmp 0x438d3c
sbb eax, eax
or eax, 1
test eax, eax
je 0x438f79
lea edx, [esp + 0x9c4]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x438d9a
lea edx, [esp + 0x9c4]
push 0x5c
push edx
call fcn.00463550
add esp, 8
test eax, eax
je 0x4388b5
mov byte [eax], 0
lea edi, [esp + 0x9c4]
mov edx, 0x4a02c8
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x438d90
lea edx, [esp + 0x9c4]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x439b37
push 0x4a02dc
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x493190], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x2b0]
mov edx, dword [esp]
push edx
push ecx
push ebx
mov esi, dword [esp + 0x171c]
push esi
mov edi, dword [esp + 0x171c]
push edi
call dword [0x493190]
mov ebx, eax
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x43915a
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x438e21
mov edx, dword [esp + 0xc]
test edx, edx
je 0x438eea
lea edx, [esp + 0xac8]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x438e77
lea edx, [esp + 0xac8]
push 0x5c
push edx
call fcn.00463550
add esp, 8
test eax, eax
je 0x4388b5
mov byte [eax], 0
lea edi, [esp + 0xac8]
mov edx, 0x4a02e4
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x438e6d
lea edx, [esp + 0xac8]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x439b1e
push 0x4a02dc
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x493190], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x2b0]
mov edx, dword [esp]
push edx
push ecx
push ebx
mov esi, dword [esp + 0x171c]
push esi
mov edi, dword [esp + 0x171c]
push edi
call dword [0x493190]
mov ebx, eax
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x43915a
call fcn.00439bc0
movzx eax, al
test eax, eax
je 0x438f13
mov edx, dword [esp + 0xc]
test edx, edx
je 0x438f13
mov edx, dword [esp]
cmp edx, 2
je 0x439581
cmp edx, 3
je 0x439581
call fcn.00439bc0
movzx eax, al
test eax, eax
je 0x438f48
mov edx, dword [esp + 0x10]
test edx, edx
je 0x438f48
call fcn.00439b84
movzx eax, al
test eax, eax
je 0x438f48
mov edx, dword [esp]
cmp edx, 2
je 0x43964f
cmp edx, 3
je 0x43964f
call fcn.00439bc0
movzx eax, al
test eax, eax
je 0x438f79
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x438f79
mov edx, dword [esp + 0xc]
test edx, edx
jne 0x438f79
mov edx, dword [esp]
cmp edx, 2
je 0x43971d
cmp edx, 3
je 0x43971d
lea edi, [esp + 0x3b0]
mov esi, 0x4971f4
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x438fa5
or dl, dl
je 0x438fa1
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x438fa5
add edi, 2
add esi, 2
or dl, dl
jne 0x438f85
xor eax, eax
jmp 0x438faa
sbb eax, eax
or eax, 1
test eax, eax
je 0x439280
lea edx, [esp + 0xed8]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x439008
lea edx, [esp + 0xed8]
push 0x5c
push edx
call fcn.00463550
add esp, 8
test eax, eax
je 0x4388b5
mov byte [eax], 0
lea edi, [esp + 0xed8]
mov edx, 0x4a02c8
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x438ffe
lea edx, [esp + 0xed8]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x439b05
push 0x4a02dc
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x493190], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x3b0]
mov edx, dword [esp + 8]
push edx
push ecx
push ebx
mov esi, dword [esp + 0x171c]
push esi
mov edi, dword [esp + 0x171c]
push edi
call dword [0x493190]
mov ebx, eax
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x43915a
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x439090
mov edx, dword [esp + 0xc]
test edx, edx
je 0x4391ee
lea edx, [esp + 0xfdc]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x4390e6
lea edx, [esp + 0xfdc]
push 0x5c
push edx
call fcn.00463550
add esp, 8
test eax, eax
je 0x4388b5
mov byte [eax], 0
lea edi, [esp + 0xfdc]
mov edx, 0x4a02e4
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x4390dc
lea edx, [esp + 0xfdc]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x439aec
push 0x4a02dc
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x493190], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x3b0]
mov edx, dword [esp + 8]
push edx
push ecx
push ebx
mov esi, dword [esp + 0x171c]
push esi
mov edi, dword [esp + 0x171c]
push edi
call dword [0x493190]
mov ebx, eax
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
jne 0x4391ee
lea edx, [esp + 0x14f0]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x4391a8
lea edx, [esp + 0x14f0]
push 0x5c
push edx
call fcn.00463550
add esp, 8
lea edi, [esp + 0x14f0]
mov byte [eax], 0
mov edx, 0x499c60
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x43919e
lea edx, [esp + 0x14f0]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x4391e1
push 0x4a0338
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x1c]
mov edx, dword [esp + 0x170c]
push edx
push ecx
call eax
add esp, 8
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, ebx
add esp, 0x16f8
pop ebx
pop ebp
pop esi
pop edi
ret
call fcn.00439bc0
movzx eax, al
test eax, eax
je 0x439218
mov edx, dword [esp + 0xc]
test edx, edx
je 0x439218
mov edx, dword [esp + 8]
cmp edx, 2
je 0x4397eb
cmp edx, 3
je 0x4397eb
call fcn.00439bc0
movzx eax, al
test eax, eax
je 0x43924e
mov edx, dword [esp + 0x10]
test edx, edx
je 0x43924e
call fcn.00439b84
movzx eax, al
test eax, eax
je 0x43924e
mov edx, dword [esp + 8]
cmp edx, 2
je 0x4398ba
cmp edx, 3
je 0x4398ba
call fcn.00439bc0
movzx eax, al
test eax, eax
je 0x439280
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x439280
mov edx, dword [esp + 0xc]
test edx, edx
jne 0x439280
mov edx, dword [esp + 8]
cmp edx, 2
je 0x439a1d
cmp edx, 3
je 0x439a1d
lea edx, [esp + 0x13ec]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x4392ce
lea edx, [esp + 0x13ec]
push 0x5c
push edx
call fcn.00463550
add esp, 8
lea edi, [esp + 0x13ec]
mov byte [eax], 0
mov edx, 0x499c60
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x4392c4
lea edx, [esp + 0x13ec]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x439307
push 0x4a0328
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x1c]
mov edx, dword [esp + 0x170c]
push edx
push ecx
call eax
add esp, 8
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, ebx
add esp, 0x16f8
pop ebx
pop ebp
pop esi
pop edi
ret
lea edx, [esp + 0x6b8]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x43936a
lea edx, [esp + 0x6b8]
push 0x5c
push edx
call fcn.00463550
add esp, 8
test eax, eax
je 0x4388b5
mov byte [eax], 0
lea edi, [esp + 0x6b8]
mov edx, 0x4a02f4
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x439360
lea edx, [esp + 0x6b8]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x438ca3
push 0x4a02dc
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x493190], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x1b0]
mov edx, dword [esp + 4]
push edx
push ecx
push ebx
mov esi, dword [esp + 0x171c]
push esi
mov edi, dword [esp + 0x171c]
push edi
call dword [0x493190]
mov ebx, eax
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x43915a
jmp 0x438ca3
lea edx, [esp + 0x7bc]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x439439
lea edx, [esp + 0x7bc]
push 0x5c
push edx
call fcn.00463550
add esp, 8
test eax, eax
je 0x4388b5
mov byte [eax], 0
lea edi, [esp + 0x7bc]
mov edx, 0x4a0304
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x43942f
lea edx, [esp + 0x7bc]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x438cd9
push 0x4a02dc
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x493190], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x1b0]
mov edx, dword [esp + 4]
push edx
push ecx
push ebx
mov esi, dword [esp + 0x171c]
push esi
mov edi, dword [esp + 0x171c]
push edi
call dword [0x493190]
mov ebx, eax
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x43915a
jmp 0x438cd9
lea edx, [esp + 0x8c0]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x439508
lea edx, [esp + 0x8c0]
push 0x5c
push edx
call fcn.00463550
add esp, 8
test eax, eax
je 0x4388b5
mov byte [eax], 0
lea edi, [esp + 0x8c0]
mov edx, 0x4a0318
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x4394fe
lea edx, [esp + 0x8c0]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x438d0b
push 0x4a02dc
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x493190], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x1b0]
mov edx, dword [esp + 4]
push edx
push ecx
push ebx
mov esi, dword [esp + 0x171c]
push esi
mov edi, dword [esp + 0x171c]
push edi
call dword [0x493190]
mov ebx, eax
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x43915a
jmp 0x438d0b
lea edx, [esp + 0xbcc]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x4395d7
lea edx, [esp + 0xbcc]
push 0x5c
push edx
call fcn.00463550
add esp, 8
test eax, eax
je 0x4388b5
mov byte [eax], 0
lea edi, [esp + 0xbcc]
mov edx, 0x4a02f4
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x4395cd
lea edx, [esp + 0xbcc]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x438f13
push 0x4a02dc
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x493190], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x2b0]
mov edx, dword [esp]
push edx
push ecx
push ebx
mov esi, dword [esp + 0x171c]
push esi
mov edi, dword [esp + 0x171c]
push edi
call dword [0x493190]
mov ebx, eax
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x43915a
jmp 0x438f13
lea edx, [esp + 0xcd0]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x4396a5
lea edx, [esp + 0xcd0]
push 0x5c
push edx
call fcn.00463550
add esp, 8
test eax, eax
je 0x4388b5
mov byte [eax], 0
lea edi, [esp + 0xcd0]
mov edx, 0x4a0304
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x43969b
lea edx, [esp + 0xcd0]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x438f48
push 0x4a02dc
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x493190], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x2b0]
mov edx, dword [esp]
push edx
push ecx
push ebx
mov esi, dword [esp + 0x171c]
push esi
mov edi, dword [esp + 0x171c]
push edi
call dword [0x493190]
mov ebx, eax
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x43915a
jmp 0x438f48
lea edx, [esp + 0xdd4]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x439773
lea edx, [esp + 0xdd4]
push 0x5c
push edx
call fcn.00463550
add esp, 8
test eax, eax
je 0x4388b5
mov byte [eax], 0
lea edi, [esp + 0xdd4]
mov edx, 0x4a0318
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x439769
lea edx, [esp + 0xdd4]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x438f79
push 0x4a02dc
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x493190], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x2b0]
mov edx, dword [esp]
push edx
push ecx
push ebx
mov esi, dword [esp + 0x171c]
push esi
mov edi, dword [esp + 0x171c]
push edi
call dword [0x493190]
mov ebx, eax
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x43915a
jmp 0x438f79
lea edx, [esp + 0x10e0]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x439841
lea edx, [esp + 0x10e0]
push 0x5c
push edx
call fcn.00463550
add esp, 8
test eax, eax
je 0x4388b5
mov byte [eax], 0
lea edi, [esp + 0x10e0]
mov edx, 0x4a02f4
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x439837
lea edx, [esp + 0x10e0]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x439218
push 0x4a02dc
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x493190], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x3b0]
mov edx, dword [esp + 8]
push edx
push ecx
push ebx
mov esi, dword [esp + 0x171c]
push esi
mov edi, dword [esp + 0x171c]
push edi
call dword [0x493190]
mov ebx, eax
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x43915a
jmp 0x439218
lea edx, [esp + 0x11e4]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x439910
lea edx, [esp + 0x11e4]
push 0x5c
push edx
call fcn.00463550
add esp, 8
test eax, eax
je 0x4388b5
mov byte [eax], 0
lea edi, [esp + 0x11e4]
mov edx, 0x4a0304
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x439906
lea edx, [esp + 0x11e4]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x43924e
push 0x4a02dc
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x493190], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x3b0]
mov edx, dword [esp + 8]
push edx
push ecx
push ebx
mov esi, dword [esp + 0x171c]
push esi
mov edi, dword [esp + 0x171c]
push edi
call dword [0x493190]
mov ebx, eax
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
jne 0x43924e
lea eax, [esp + 0x15f4]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x4399e6
lea eax, [esp + 0x15f4]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebx, eax
test ebx, ebx
je 0x4399d6
push 0x4a0338
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x1c]
mov edx, dword [esp + 0x170c]
push edx
push ecx
call eax
add esp, 8
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 2
add esp, 0x16f8
pop ebx
pop ebp
pop esi
pop edi
ret
lea eax, [esp + 0x15f4]
push 0x5c
push eax
call fcn.00463550
add esp, 8
lea edi, [esp + 0x15f4]
mov byte [eax], 0
mov edx, 0x499c60
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x439a11
jmp 0x43999d
lea edx, [esp + 0x12e8]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x439a73
lea edx, [esp + 0x12e8]
push 0x5c
push edx
call fcn.00463550
add esp, 8
test eax, eax
je 0x4388b5
mov byte [eax], 0
lea edi, [esp + 0x12e8]
mov edx, 0x4a0318
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x439a69
lea edx, [esp + 0x12e8]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x439280
push 0x4a02dc
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x493190], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x3b0]
mov edx, dword [esp + 8]
push edx
push ecx
push ebx
mov esi, dword [esp + 0x171c]
push esi
mov edi, dword [esp + 0x171c]
push edi
call dword [0x493190]
mov ebx, eax
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebx, 1
je 0x439984
jmp 0x439280
xor edx, edx
push edx
push 0x493e00
push 0x493d80
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x4391ee
xor edx, edx
push edx
push 0x493e00
push 0x493d80
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x43907c
xor edx, edx
push edx
push 0x493e00
push 0x493d80
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x438eea
xor edx, edx
push edx
push 0x493e00
push 0x493d80
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x438e0d
xor edx, edx
push edx
push 0x493e00
push 0x493d80
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x438c79
xor edx, edx
push edx
push 0x493e00
push 0x493d80
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x438b9b