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

Disassembly:
push edi
push esi
push ebp
push ebx
push ecx
push edx
push eax
mov eax, 0x16f4
call fcn.00486680
mov ecx, dword [esp + 0x16fc]
mov edx, dword [esp + 0x16f8]
mov eax, dword [esp + 0x16f4]
mov dword [esp + 0x16fc], edx
mov ebx, eax
lea esi, [esp + 0x154c]
mov edi, ecx
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x459ad8
call fcn.0045ae98
movzx eax, al
test eax, eax
jne 0x459b07
call fcn.0045aeb8
movzx eax, al
test eax, eax
jne 0x459b07
xor eax, eax
add esp, 0x1700
pop ebx
pop ebp
pop esi
pop edi
ret
mov dword [esp + 0x164c], 0x94
lea edx, [esp + 0x164c]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x459afa
mov ecx, dword [esp + 0x165c]
cmp ecx, 2
jne 0x459b55
mov edx, dword [esp + 0x1650]
cmp edx, 4
jne 0x459b4a
mov edx, 1
mov dword [esp + 0x16f0], edx
jmp 0x459b5e
xor edx, edx
mov dword [esp + 0x16f0], edx
jmp 0x459b5e
xor edx, edx
mov dword [esp + 0x16f0], edx
cmp ecx, 2
jne 0x459b88
mov edx, dword [esp + 0x1650]
cmp edx, 5
jb 0x459b7d
mov edx, 1
mov dword [esp + 0x16ec], edx
jmp 0x459b91
xor edx, edx
mov dword [esp + 0x16ec], edx
jmp 0x459b91
xor edx, edx
mov dword [esp + 0x16ec], edx
call fcn.0045aed8
mov dword [esp + 0x16f4], eax
call fcn.0045b03c
mov dword [esp + 0x16f8], eax
call fcn.0045b06c
mov ebp, eax
mov eax, 1
call fcn.0045b0a0
mov dword [esp + 0x16e4], eax
xor eax, eax
call fcn.0045b130
mov dword [esp + 0x16e0], eax
xor eax, eax
call fcn.0045b164
mov dword [esp + 0x16e8], eax
lea esi, [esp + 0x124c]
mov edi, 0x4c3020
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x459be9
lea esi, [esp + 0x134c]
mov edi, 0x4c302c
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x459bff
lea esi, [esp + 0x144c]
mov edi, 0x4c303c
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x459c15
mov edx, dword [esp + 0x16f4]
test edx, edx
je 0x459c3d
lea esi, [esp + 0x124c]
mov edi, edx
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x459c33
mov edx, dword [esp + 0x16f8]
test edx, edx
je 0x459c5b
lea esi, [esp + 0x134c]
mov edi, edx
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x459c51
test ebp, ebp
je 0x459c72
lea esi, [esp + 0x144c]
mov edi, ebp
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x459c68
lea eax, [esp + 0x124c]
call fcn.0045b198
lea eax, [esp + 0x134c]
call fcn.0045b1e8
lea eax, [esp + 0x144c]
call fcn.0045b218
mov eax, dword [esp + 0x16e4]
call fcn.0045b248
mov eax, dword [esp + 0x16e0]
call fcn.0045b294
mov eax, dword [esp + 0x16e8]
call fcn.0045b2c0
mov edx, dword [esp + 0x16f4]
test edx, edx
je 0x459ce6
lea esi, [esp + 0x124c]
mov edi, edx
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x459cce
mov edx, dword [esp + 0x16f4]
push edx
call fcn.00485bcc
pop ecx
mov edx, dword [esp + 0x16f8]
test edx, edx
je 0x459d12
lea esi, [esp + 0x134c]
mov edi, edx
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x459cfa
mov edx, dword [esp + 0x16f8]
push edx
call fcn.00485bcc
pop ecx
test ebp, ebp
je 0x459d30
lea esi, [esp + 0x144c]
mov edi, ebp
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x459d1f
push ebp
call fcn.00485bcc
pop ecx
lea edi, [esp + 0x124c]
mov esi, 0x4b82ac
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x459d5c
or dl, dl
je 0x459d58
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x459d5c
add edi, 2
add esi, 2
or dl, dl
jne 0x459d3c
xor eax, eax
jmp 0x459d61
sbb eax, eax
or eax, 1
test eax, eax
jne 0x459d6c
xor ebp, ebp
jmp 0x459fbf
lea edx, [esp + 0xe3c]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x459dc2
lea edx, [esp + 0xe3c]
push 0x5c
push edx
call fcn.00486200
add esp, 8
test eax, eax
je 0x459afa
mov byte [eax], 0
lea edi, [esp + 0xe3c]
mov edx, 0x4c3048
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 0x459db8
lea edx, [esp + 0xe3c]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x45ae1f
push 0x4c305c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b4664], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebp, [esp + 0x154c]
lea ecx, [esp + 0x124c]
mov edx, dword [esp + 0x16e4]
push edx
push ecx
push ebp
mov edi, dword [esp + 0x1708]
push edi
push ebx
call dword [0x4b4664]
add esp, 0x14
mov ebp, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebp, 1
je 0x45a430
mov edx, dword [esp + 0x16f0]
test edx, edx
jne 0x459e4f
mov edx, dword [esp + 0x16ec]
test edx, edx
je 0x459f18
lea edx, [esp + 0xb30]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x459ea5
lea edx, [esp + 0xb30]
push 0x5c
push edx
call fcn.00486200
add esp, 8
test eax, eax
je 0x459afa
mov byte [eax], 0
lea edi, [esp + 0xb30]
mov edx, 0x4c3064
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 0x459e9b
lea edx, [esp + 0xb30]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x45ae06
push 0x4c305c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b4664], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebp, [esp + 0x154c]
lea ecx, [esp + 0x124c]
mov edx, dword [esp + 0x16e4]
push edx
push ecx
push ebp
mov edi, dword [esp + 0x1708]
push edi
push ebx
call dword [0x4b4664]
add esp, 0x14
mov ebp, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebp, 1
je 0x45a430
call fcn.0045ae78
movzx eax, al
test eax, eax
je 0x459f48
mov edx, dword [esp + 0x16ec]
test edx, edx
je 0x459f48
mov edx, dword [esp + 0x16e4]
cmp edx, 2
je 0x45a5e9
cmp edx, 3
je 0x45a5e9
call fcn.0045ae78
movzx eax, al
test eax, eax
je 0x459f84
mov edx, dword [esp + 0x16f0]
test edx, edx
je 0x459f84
call fcn.0045ae3c
movzx eax, al
test eax, eax
je 0x459f84
mov edx, dword [esp + 0x16e4]
cmp edx, 2
je 0x45a6b7
cmp edx, 3
je 0x45a6b7
call fcn.0045ae78
movzx eax, al
test eax, eax
je 0x459fbf
mov edx, dword [esp + 0x16f0]
test edx, edx
jne 0x459fbf
mov edx, dword [esp + 0x16ec]
test edx, edx
jne 0x459fbf
mov edx, dword [esp + 0x16e4]
cmp edx, 2
je 0x45a785
cmp edx, 3
je 0x45a785
lea edi, [esp + 0x134c]
mov esi, 0x4b82ac
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x459feb
or dl, dl
je 0x459fe7
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x459feb
add edi, 2
add esi, 2
or dl, dl
jne 0x459fcb
xor eax, eax
jmp 0x459ff0
sbb eax, eax
or eax, 1
test eax, eax
je 0x45a24b
lea edx, [esp + 0xd38]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x45a04e
lea edx, [esp + 0xd38]
push 0x5c
push edx
call fcn.00486200
add esp, 8
test eax, eax
je 0x459afa
mov byte [eax], 0
lea edi, [esp + 0xd38]
mov edx, 0x4c3048
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 0x45a044
lea edx, [esp + 0xd38]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x45aded
push 0x4c305c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b4664], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebp, [esp + 0x154c]
lea ecx, [esp + 0x134c]
mov edx, dword [esp + 0x16e0]
push edx
push ecx
push ebp
mov edi, dword [esp + 0x1708]
push edi
push ebx
call dword [0x4b4664]
add esp, 0x14
mov ebp, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebp, 1
je 0x45a430
mov edx, dword [esp + 0x16f0]
test edx, edx
jne 0x45a0db
mov edx, dword [esp + 0x16ec]
test edx, edx
je 0x45a1a4
lea edx, [esp + 0xa2c]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x45a131
lea edx, [esp + 0xa2c]
push 0x5c
push edx
call fcn.00486200
add esp, 8
test eax, eax
je 0x459afa
mov byte [eax], 0
lea edi, [esp + 0xa2c]
mov edx, 0x4c3064
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 0x45a127
lea edx, [esp + 0xa2c]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x45add4
push 0x4c305c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b4664], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebp, [esp + 0x154c]
lea ecx, [esp + 0x134c]
mov edx, dword [esp + 0x16e0]
push edx
push ecx
push ebp
mov edi, dword [esp + 0x1708]
push edi
push ebx
call dword [0x4b4664]
add esp, 0x14
mov ebp, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebp, 1
je 0x45a430
call fcn.0045ae78
movzx eax, al
test eax, eax
je 0x45a1d4
mov edx, dword [esp + 0x16ec]
test edx, edx
je 0x45a1d4
mov edx, dword [esp + 0x16e0]
cmp edx, 2
je 0x45a853
cmp edx, 3
je 0x45a853
call fcn.0045ae78
movzx eax, al
test eax, eax
je 0x45a210
mov edx, dword [esp + 0x16f0]
test edx, edx
je 0x45a210
call fcn.0045ae3c
movzx eax, al
test eax, eax
je 0x45a210
mov edx, dword [esp + 0x16e0]
cmp edx, 2
je 0x45a921
cmp edx, 3
je 0x45a921
call fcn.0045ae78
movzx eax, al
test eax, eax
je 0x45a24b
mov edx, dword [esp + 0x16f0]
test edx, edx
jne 0x45a24b
mov edx, dword [esp + 0x16ec]
test edx, edx
jne 0x45a24b
mov edx, dword [esp + 0x16e0]
cmp edx, 2
je 0x45a9e3
cmp edx, 3
je 0x45a9e3
lea edi, [esp + 0x144c]
mov esi, 0x4b82ac
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x45a277
or dl, dl
je 0x45a273
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x45a277
add edi, 2
add esi, 2
or dl, dl
jne 0x45a257
xor eax, eax
jmp 0x45a27c
sbb eax, eax
or eax, 1
test eax, eax
je 0x45a560
lea edx, [esp + 0xf40]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x45a2da
lea edx, [esp + 0xf40]
push 0x5c
push edx
call fcn.00486200
add esp, 8
test eax, eax
je 0x459afa
mov byte [eax], 0
lea edi, [esp + 0xf40]
mov edx, 0x4c3048
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 0x45a2d0
lea edx, [esp + 0xf40]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x45adbb
push 0x4c305c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b4664], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebp, [esp + 0x154c]
lea ecx, [esp + 0x144c]
mov edx, dword [esp + 0x16e8]
push edx
push ecx
push ebp
mov edi, dword [esp + 0x1708]
push edi
push ebx
call dword [0x4b4664]
add esp, 0x14
mov ebp, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebp, 1
je 0x45a430
mov edx, dword [esp + 0x16f0]
test edx, edx
jne 0x45a367
mov edx, dword [esp + 0x16ec]
test edx, edx
je 0x45a4b9
lea edx, [esp + 0xc34]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x45a3bd
lea edx, [esp + 0xc34]
push 0x5c
push edx
call fcn.00486200
add esp, 8
test eax, eax
je 0x459afa
mov byte [eax], 0
lea edi, [esp + 0xc34]
mov edx, 0x4c3064
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 0x45a3b3
lea edx, [esp + 0xc34]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x45ada2
push 0x4c305c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b4664], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebp, [esp + 0x154c]
lea ecx, [esp + 0x144c]
mov edx, dword [esp + 0x16e8]
push edx
push ecx
push ebp
mov edi, dword [esp + 0x1708]
push edi
push ebx
call dword [0x4b4664]
add esp, 0x14
mov ebp, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebp, 1
jne 0x45a4b9
lea edx, [esp + 0x1148]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x45a477
lea edi, [esp + 0x1148]
push 0x5c
push edi
call fcn.00486200
add esp, 8
mov byte [eax], 0
mov edx, 0x4bba20
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 0x45a46d
lea edx, [esp + 0x1148]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x45a4ac
push 0x4c30b8
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea edx, [esp + 0x154c]
push ebx
push edx
call eax
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, ebp
add esp, 0x1700
pop ebx
pop ebp
pop esi
pop edi
ret
call fcn.0045ae78
movzx eax, al
test eax, eax
je 0x45a4e9
mov edx, dword [esp + 0x16ec]
test edx, edx
je 0x45a4e9
mov edx, dword [esp + 0x16e8]
cmp edx, 2
je 0x45aab1
cmp edx, 3
je 0x45aab1
call fcn.0045ae78
movzx eax, al
test eax, eax
je 0x45a525
mov edx, dword [esp + 0x16f0]
test edx, edx
je 0x45a525
call fcn.0045ae3c
movzx eax, al
test eax, eax
je 0x45a525
mov edx, dword [esp + 0x16e8]
cmp edx, 2
je 0x45ab7f
cmp edx, 3
je 0x45ab7f
call fcn.0045ae78
movzx eax, al
test eax, eax
je 0x45a560
mov edx, dword [esp + 0x16f0]
test edx, edx
jne 0x45a560
mov edx, dword [esp + 0x16ec]
test edx, edx
jne 0x45a560
mov edx, dword [esp + 0x16e8]
cmp edx, 2
je 0x45acd4
cmp edx, 3
je 0x45acd4
lea edx, [esp + 0x1044]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x45a5a7
lea edi, [esp + 0x1044]
push 0x5c
push edi
call fcn.00486200
add esp, 8
mov byte [eax], 0
mov edx, 0x4bba20
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 0x45a59d
lea edx, [esp + 0x1044]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x45a5dc
push 0x4c30a8
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea edx, [esp + 0x154c]
push ebx
push edx
call eax
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, ebp
add esp, 0x1700
pop ebx
pop ebp
pop esi
pop edi
ret
lea edx, [esp + 0x720]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x45a63f
lea edx, [esp + 0x720]
push 0x5c
push edx
call fcn.00486200
add esp, 8
test eax, eax
je 0x459afa
mov byte [eax], 0
lea edi, [esp + 0x720]
mov edx, 0x4c3074
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 0x45a635
lea edx, [esp + 0x720]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x459f48
push 0x4c305c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b4664], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebp, [esp + 0x154c]
lea ecx, [esp + 0x124c]
mov edx, dword [esp + 0x16e4]
push edx
push ecx
push ebp
mov edi, dword [esp + 0x1708]
push edi
push ebx
call dword [0x4b4664]
add esp, 0x14
mov ebp, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebp, 1
je 0x45a430
jmp 0x459f48
lea edx, [esp + 0x108]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x45a70d
lea edx, [esp + 0x108]
push 0x5c
push edx
call fcn.00486200
add esp, 8
test eax, eax
je 0x459afa
mov byte [eax], 0
lea edi, [esp + 0x108]
mov edx, 0x4c3084
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 0x45a703
lea edx, [esp + 0x108]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x459f84
push 0x4c305c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b4664], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebp, [esp + 0x154c]
lea ecx, [esp + 0x124c]
mov edx, dword [esp + 0x16e4]
push edx
push ecx
push ebp
mov edi, dword [esp + 0x1708]
push edi
push ebx
call dword [0x4b4664]
add esp, 0x14
mov ebp, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebp, 1
je 0x45a430
jmp 0x459f84
lea edx, [esp + 0x310]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x45a7db
lea edx, [esp + 0x310]
push 0x5c
push edx
call fcn.00486200
add esp, 8
test eax, eax
je 0x459afa
mov byte [eax], 0
lea edi, [esp + 0x310]
mov edx, 0x4c3098
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 0x45a7d1
lea edx, [esp + 0x310]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x459fbf
push 0x4c305c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b4664], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebp, [esp + 0x154c]
lea ecx, [esp + 0x124c]
mov edx, dword [esp + 0x16e4]
push edx
push ecx
push ebp
mov edi, dword [esp + 0x1708]
push edi
push ebx
call dword [0x4b4664]
add esp, 0x14
mov ebp, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebp, 1
je 0x45a430
jmp 0x459fbf
lea edx, [esp + 0x61c]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x45a8a9
lea edx, [esp + 0x61c]
push 0x5c
push edx
call fcn.00486200
add esp, 8
test eax, eax
je 0x459afa
mov byte [eax], 0
lea edi, [esp + 0x61c]
mov edx, 0x4c3074
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 0x45a89f
lea edx, [esp + 0x61c]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x45a1d4
push 0x4c305c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b4664], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebp, [esp + 0x154c]
lea ecx, [esp + 0x134c]
mov edx, dword [esp + 0x16e0]
push edx
push ecx
push ebp
mov edi, dword [esp + 0x1708]
push edi
push ebx
call dword [0x4b4664]
add esp, 0x14
mov ebp, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebp, 1
je 0x45a430
jmp 0x45a1d4
lea edx, [esp + 4]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x45a96e
lea edx, [esp + 4]
push 0x5c
push edx
call fcn.00486200
add esp, 8
test eax, eax
je 0x459afa
mov byte [eax], 0
lea edi, [esp + 4]
mov edx, 0x4c3084
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 0x45a964
lea edx, [esp + 4]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x45a210
push 0x4c305c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b4664], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebp, [esp + 0x154c]
lea ecx, [esp + 0x134c]
mov edx, dword [esp + 0x16e0]
push edx
push ecx
push ebp
mov edi, dword [esp + 0x1708]
push edi
push ebx
call dword [0x4b4664]
add esp, 0x14
mov ebp, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebp, 1
je 0x45a430
jmp 0x45a210
lea edx, [esp + 0x20c]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x45aa39
lea edx, [esp + 0x20c]
push 0x5c
push edx
call fcn.00486200
add esp, 8
test eax, eax
je 0x459afa
mov byte [eax], 0
lea edi, [esp + 0x20c]
mov edx, 0x4c3098
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 0x45aa2f
lea edx, [esp + 0x20c]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x45a24b
push 0x4c305c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b4664], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebp, [esp + 0x154c]
lea ecx, [esp + 0x134c]
mov edx, dword [esp + 0x16e0]
push edx
push ecx
push ebp
mov edi, dword [esp + 0x1708]
push edi
push ebx
call dword [0x4b4664]
add esp, 0x14
mov ebp, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebp, 1
je 0x45a430
jmp 0x45a24b
lea edx, [esp + 0x824]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x45ab07
lea edx, [esp + 0x824]
push 0x5c
push edx
call fcn.00486200
add esp, 8
test eax, eax
je 0x459afa
mov byte [eax], 0
lea edi, [esp + 0x824]
mov edx, 0x4c3074
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 0x45aafd
lea edx, [esp + 0x824]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x45a4e9
push 0x4c305c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b4664], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebp, [esp + 0x154c]
lea ecx, [esp + 0x144c]
mov edx, dword [esp + 0x16e8]
push edx
push ecx
push ebp
mov edi, dword [esp + 0x1708]
push edi
push ebx
call dword [0x4b4664]
add esp, 0x14
mov ebp, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebp, 1
je 0x45a430
jmp 0x45a4e9
lea edx, [esp + 0x414]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x45abd5
lea edx, [esp + 0x414]
push 0x5c
push edx
call fcn.00486200
add esp, 8
test eax, eax
je 0x459afa
mov byte [eax], 0
lea edi, [esp + 0x414]
mov edx, 0x4c3084
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 0x45abcb
lea edx, [esp + 0x414]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x45a525
push 0x4c305c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b4664], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebp, [esp + 0x154c]
lea ecx, [esp + 0x144c]
mov edx, dword [esp + 0x16e8]
push edx
push ecx
push ebp
mov edi, dword [esp + 0x1708]
push edi
push ebx
call dword [0x4b4664]
add esp, 0x14
mov ebp, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebp, 1
jne 0x45a525
lea edx, [esp + 0x928]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x45ac8f
lea edi, [esp + 0x928]
push 0x5c
push edi
call fcn.00486200
add esp, 8
mov byte [eax], 0
mov edx, 0x4bba20
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 0x45ac85
lea edx, [esp + 0x928]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebp, eax
test ebp, ebp
je 0x45acc4
push 0x4c30b8
push ebp
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea edx, [esp + 0x154c]
push ebx
push edx
call eax
add esp, 8
push ebp
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 2
add esp, 0x1700
pop ebx
pop ebp
pop esi
pop edi
ret
lea edx, [esp + 0x518]
push 0x104
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x45ad2a
lea edx, [esp + 0x518]
push 0x5c
push edx
call fcn.00486200
add esp, 8
test eax, eax
je 0x459afa
mov byte [eax], 0
lea edi, [esp + 0x518]
mov edx, 0x4c3098
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 0x45ad20
lea edx, [esp + 0x518]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x45a560
push 0x4c305c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b4664], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea ebp, [esp + 0x154c]
lea ecx, [esp + 0x144c]
mov edx, dword [esp + 0x16e8]
push edx
push ecx
push ebp
mov edi, dword [esp + 0x1708]
push edi
push ebx
call dword [0x4b4664]
add esp, 0x14
mov ebp, eax
call dword [sym.imp.ole32.dll_CoUninitialize]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp ebp, 1
je 0x45ac48
jmp 0x45a560
xor edx, edx
push edx
push 0x4b57e0
push 0x4b5820
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x45a4b9
xor edx, edx
push edx
push 0x4b57e0
push 0x4b5820
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x45a34d
xor edx, edx
push edx
push 0x4b57e0
push 0x4b5820
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x45a1a4
xor edx, edx
push edx
push 0x4b57e0
push 0x4b5820
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x45a0c1
xor edx, edx
push edx
push 0x4b57e0
push 0x4b5820
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x459f18
xor edx, edx
push edx
push 0x4b57e0
push 0x4b5820
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor ebp, ebp
jmp 0x459e35