Function at 0x10147ed
Capabilities:
Print debug messages

Disassembly:
push 0x54
mov eax, 0x1020bb9
call fcn.0101a4b0
mov esi, ecx
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], edi
mov ebx, 0x1044e10
push ebx
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
mov dword [ebp - 0x34], edi
call fcn.0100bc7d
push ebx
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
mov dword [ebp - 0x20], edi
call fcn.0100bc7d
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 5
cmp dword [ebp + 0x14], edi
je 0x1014ae8
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_IsWow64Process]
test eax, eax
jne 0x10148df
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
cmp eax, edi
jle 0x101486f
and eax, 0xffff
or eax, 0x80070000
cmp eax, edi
jge 0x1014886
call ebx
cmp eax, edi
jle 0x1014881
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0x14], eax
jmp 0x101488d
mov dword [ebp - 0x14], 0x80004005
push 0xc1500003
push dword [esi + 0x2c]
call fcn.010196c9
push dword [ebp - 0x14]
lea eax, [ebp - 0x28]
push 0x1004248
push eax
mov byte [ebp - 4], 6
call fcn.0100c88f
add esp, 0x14
push dword [ebp - 0x28]
mov dword [ebp - 4], 5
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x1014c93
cmp dword [ebp - 0x34], edi
je 0x10148ff
mov dword [ebp - 0x14], 0x8007000b
push 0xc150003b
push dword [esi + 0x2c]
call fcn.010196c9
pop ecx
pop ecx
jmp 0x1014c93
call fcn.0101f0f3
test eax, eax
je 0x1014916
mov dword [ebp - 0x14], 0x80070032
push 0xc150003c
jmp 0x10148f0
call fcn.0101ca1b
test eax, eax
je 0x101492d
mov dword [ebp - 0x14], 0x80070032
push 0xc1500041
jmp 0x10148f0
lea eax, [ebp - 0x30]
push eax
push 0x1003a00
mov ecx, esi
call fcn.0101374b
cmp eax, edi
mov dword [ebp - 0x14], eax
jge 0x10149da
push ebx
lea ecx, [ebp + 8]
call fcn.0100bc7d
push dword [ebp - 0x14]
mov byte [ebp - 4], 8
push 0xc1500025
push dword [esi + 0x2c]
call fcn.010196c9
push dword [ebp - 0x14]
lea eax, [ebp + 8]
push 0x1003968
push eax
mov byte [ebp - 4], 9
call fcn.0100c88f
mov dword [ebp - 4], 8
add esp, 0x18
cmp dword [esi + 0x1c], edi
je 0x10149b7
push dword [ebp - 0x14]
mov edi, 0x1038ae8
push 0x1004204
push dword [ebp + 8]
push 0x1002c6c
push 0x2022
push edi
call fcn.0101a9ec
mov ecx, dword [esi + 0x1c]
add esp, 0x18
push edi
push 1
call fcn.0101865e
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0100b8fc
jmp 0x1014c93
push dword [ebp + 8]
call fcn.010185f8
mov dword [esi + 0x20], eax
cmp eax, edi
jne 0x1014a7c
mov edi, 0xc1500023
push ebx
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x14], edi
call fcn.0100bc7d
push edi
push dword [ebp + 8]
mov byte [ebp - 4], 0xb
push edi
push dword [esi + 0x2c]
call fcn.010196c9
push edi
push dword [ebp + 8]
lea eax, [ebp + 0x10]
push 0x1004198
push eax
mov byte [ebp - 4], 0xc
call fcn.0100c88f
mov dword [ebp - 4], 0xb
add esp, 0x20
cmp dword [esi + 0x1c], 0
je 0x1014a61
push edi
push 0x1004204
push dword [ebp + 0x10]
mov edi, 0x1038ae8
push 0x1002c6c
push 0x2022
push edi
call fcn.0101a9ec
mov ecx, dword [esi + 0x1c]
add esp, 0x18
push edi
push 1
call fcn.0101865e
mov ecx, dword [ebp + 0x10]
jmp 0x10149ba
mov edx, dword [eax]
lea ecx, [ebp - 0x1c]
push ecx
push dword [ebp - 0x30]
mov ecx, eax
call dword [edx]
test eax, eax
jge 0x1014bb7
mov edi, 0xc1500023
push ebx
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x14], edi
call fcn.0100bc7d
push edi
push dword [ebp + 8]
mov byte [ebp - 4], 0xe
push edi
push dword [esi + 0x2c]
call fcn.010196c9
push edi
push dword [ebp + 8]
lea eax, [ebp + 0x10]
push 0x10038c0
push eax
mov byte [ebp - 4], 0xf
call fcn.0100c88f
mov dword [ebp - 4], 0xe
jmp 0x1014a2c
push dword [ebp + 8]
call fcn.010185f8
mov dword [esi + 0x20], eax
cmp eax, edi
jne 0x1014b4e
mov edi, 0xc1500023
push ebx
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x14], edi
call fcn.0100bc7d
push edi
push dword [ebp + 8]
mov byte [ebp - 4], 0x11
push edi
push dword [esi + 0x2c]
call fcn.010196c9
push edi
push dword [ebp + 8]
lea eax, [ebp + 0x10]
push 0x1004198
push eax
mov byte [ebp - 4], 0x12
call fcn.0100c88f
mov dword [ebp - 4], 0x11
jmp 0x1014a2c
mov edx, dword [eax]
lea ecx, [ebp - 0x1c]
push ecx
push dword [esi + 8]
mov ecx, eax
call dword [edx + 4]
test eax, eax
jge 0x1014bb7
mov edi, 0xc1500023
push ebx
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x14], edi
call fcn.0100bc7d
push edi
push dword [ebp + 8]
mov byte [ebp - 4], 0x14
push edi
push dword [esi + 0x2c]
call fcn.010196c9
push edi
push dword [ebp + 8]
lea eax, [ebp + 0x10]
push 0x10038c0
push eax
mov byte [ebp - 4], 0x15
call fcn.0100c88f
mov dword [ebp - 4], 0x14
jmp 0x1014a2c
lea eax, [ebp - 0x24]
push eax
push 0x1002af8
push dword [ebp + 0x10]
call fcn.0101c3c6
cmp eax, edi
mov dword [ebp - 0x14], eax
jge 0x1014c20
push ebx
lea ecx, [ebp + 8]
call fcn.0100bc7d
push dword [ebp - 0x14]
mov byte [ebp - 4], 0x17
push 0xc1500023
push dword [esi + 0x2c]
call fcn.010196c9
push dword [ebp - 0x14]
lea eax, [ebp + 8]
push 0x1003760
push eax
mov byte [ebp - 4], 0x18
call fcn.0100c88f
mov dword [ebp - 4], 0x17
jmp 0x1014981
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x1a
call fcn.01011dd7
push eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], 5
call fcn.01010ec4
cmp eax, edi
mov dword [ebp - 0x14], eax
jge 0x1014ce6
push 0xc1500003
push dword [esi + 0x2c]
call fcn.010196c9
pop ecx
pop ecx
cmp dword [esi + 0x1c], edi
je 0x1014c84
push dword [ebp - 0x14]
mov edi, 0x1038ae8
push 0x10037e0
push 0x2022
push edi
call fcn.0101a9ec
add esp, 0x10
mov ecx, dword [esi + 0x1c]
push edi
push 1
call fcn.0101865e
cmp dword [ebp - 0x20], 0
je 0x1014c93
push dword [ebp - 0x20]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp - 0x18]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.0100b8fc
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
call fcn.0100b8fc
push dword [ebp - 0x2c]
call esi
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 0
test eax, eax
je 0x1014cca
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
or dword [ebp - 4], 0xffffffff
test eax, eax
je 0x1014cdb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
call fcn.0101a564
ret 0x10
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x18]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
cmp eax, edi
mov dword [ebp - 0x14], eax
jge 0x1014d95
push ebx
lea ecx, [ebp + 8]
call fcn.0100bc7d
push dword [ebp - 0x14]
mov byte [ebp - 4], 0x1c
push dword [ebp - 0x18]
push 0xc1500023
push dword [esi + 0x2c]
call fcn.010196c9
push dword [ebp - 0x14]
lea eax, [ebp + 8]
push dword [ebp - 0x18]
mov byte [ebp - 4], 0x1d
push 0x10036f0
push eax
call fcn.0100c88f
add esp, 0x20
cmp dword [esi + 0x1c], edi
mov dword [ebp - 4], 0x1c
je 0x1014d72
push dword [ebp - 0x14]
mov edi, 0x1038ae8
push 0x1004204
push dword [ebp + 8]
push 0x1002c6c
push 0x2022
push edi
call fcn.0101a9ec
mov ecx, dword [esi + 0x1c]
add esp, 0x18
push edi
push 1
call fcn.0101865e
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0100b8fc
jmp 0x1014c84
mov eax, dword [esi]
mov edx, dword [eax]
lea ecx, [esi + 0x10]
push ecx
push dword [ebp - 0x1c]
push eax
call dword [edx + 0x24]
cmp eax, edi
mov dword [ebp - 0x14], eax
jge 0x1014e33
push 0x1001418
push dword [esi]
push dword [esi + 0x2c]
call fcn.01011eaf
cmp dword [esi + 0x1c], edi
mov ebx, eax
mov edi, 0x1038ae8
je 0x1014deb
push dword [ebp - 0x14]
push 0x1004138
push 0x2022
push edi
call fcn.0101a9ec
mov ecx, dword [esi + 0x1c]
add esp, 0x10
push edi
push 1
call fcn.0101865e
test ebx, ebx
jl 0x1014df8
cmp ebx, 1
jne 0x1014c84
push dword [ebp + 8]
push 0xc1500040
push dword [esi + 0x2c]
call fcn.010196c9
add esp, 0xc
cmp dword [esi + 0x1c], 0
je 0x1014c84
push dword [ebp - 0x14]
push dword [ebp + 8]
push 0x10040a8
push 0x2022
push edi
call fcn.0101a9ec
add esp, 0x14
jmp 0x1014c79
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
lea edi, [esi + 0xc]
push edi
push eax
call dword [ecx + 0x28]
mov dword [ebp - 0x14], eax
test eax, eax
jge 0x1014edc
push ebx
lea ecx, [ebp + 0x10]
call fcn.0100bc7d
push dword [ebp - 0x14]
mov byte [ebp - 4], 0x1f
push dword [ebp + 8]
push 0xc1500024
push dword [esi + 0x2c]
call fcn.010196c9
push dword [ebp - 0x14]
lea eax, [ebp + 0x10]
push dword [ebp + 8]
mov byte [ebp - 4], 0x20
push 0x1004020
push eax
call fcn.0100c88f
add esp, 0x20
cmp dword [esi + 0x1c], 0
mov dword [ebp - 4], 0x1f
je 0x1014ec1
push dword [ebp - 0x14]
mov edi, 0x1038ae8
push 0x1004204
push dword [ebp + 0x10]
push 0x1002c6c
push 0x2022
push edi
call fcn.0101a9ec
mov ecx, dword [esi + 0x1c]
add esp, 0x18
push edi
push 1
call fcn.0101865e
mov ecx, dword [ebp + 0x10]
jmp 0x1014d75
push dword [ebp + 0xc]
mov edi, dword [edi]
push dword [ebp + 0x10]
mov ecx, esi
push dword [ebp + 0x14]
push edi
call fcn.01014006
mov dword [ebp - 0x14], eax
test eax, eax
jl 0x1014c84
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x38]
mov edi, eax
mov dword [ebp - 0x14], edi
test edi, edi
jge 0x1014f64
push ebx
lea ecx, [ebp + 8]
call fcn.0100bc7d
push edi
push 0xc1500024
push dword [esi + 0x2c]
mov byte [ebp - 4], 0x22
call fcn.010196c9
push edi
lea eax, [ebp + 8]
push 0x1003fa8
push eax
mov byte [ebp - 4], 0x23
call fcn.0100c88f
add esp, 0x18
cmp dword [esi + 0x1c], 0
mov dword [ebp - 4], 0x22
jmp 0x1014d42
push dword [ebp - 0x2c]
push 0xc1500038
push 3
push dword [esi + 0x28]
call fcn.0100e2a2
add esp, 0x10
jmp 0x1014c84