Function at 0x10153b2
Capabilities:
Print debug messages

Disassembly:
push 0x54
mov eax, 0x10216da
call fcn.0101b028
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.0100c75d
push ebx
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
mov dword [ebp - 0x20], edi
call fcn.0100c75d
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 5
cmp dword [ebp + 0x14], edi
je 0x10156ad
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 0x10154a4
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
cmp eax, edi
jle 0x1015434
and eax, 0xffff
or eax, 0x80070000
cmp eax, edi
jge 0x101544b
call ebx
cmp eax, edi
jle 0x1015446
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0x14], eax
jmp 0x1015452
mov dword [ebp - 0x14], 0x80004005
push 0xc1500003
push dword [esi + 0x2c]
call fcn.0101a240
push dword [ebp - 0x14]
lea eax, [ebp - 0x28]
push 0x1004248
push eax
mov byte [ebp - 4], 6
call fcn.0100d36f
add esp, 0x14
push dword [ebp - 0x28]
mov dword [ebp - 4], 5
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x1015858
cmp dword [ebp - 0x34], edi
je 0x10154c4
mov dword [ebp - 0x14], 0x8007000b
push 0xc150003b
push dword [esi + 0x2c]
call fcn.0101a240
pop ecx
pop ecx
jmp 0x1015858
call fcn.0101fc77
test eax, eax
je 0x10154db
mov dword [ebp - 0x14], 0x80070032
push 0xc150003c
jmp 0x10154b5
call fcn.0101d601
test eax, eax
je 0x10154f2
mov dword [ebp - 0x14], 0x80070032
push 0xc1500041
jmp 0x10154b5
lea eax, [ebp - 0x30]
push eax
push 0x1003a00
mov ecx, esi
call fcn.01014310
cmp eax, edi
mov dword [ebp - 0x14], eax
jge 0x101559f
push ebx
lea ecx, [ebp + 8]
call fcn.0100c75d
push dword [ebp - 0x14]
mov byte [ebp - 4], 8
push 0xc1500025
push dword [esi + 0x2c]
call fcn.0101a240
push dword [ebp - 0x14]
lea eax, [ebp + 8]
push 0x1003968
push eax
mov byte [ebp - 4], 9
call fcn.0100d36f
mov dword [ebp - 4], 8
add esp, 0x18
cmp dword [esi + 0x1c], edi
je 0x101557c
push dword [ebp - 0x14]
mov edi, 0x1038ae8
push 0x1004204
push dword [ebp + 8]
push 0x1002c6c
push 0x2022
push edi
call fcn.0101b56c
mov ecx, dword [esi + 0x1c]
add esp, 0x18
push edi
push 1
call fcn.01019121
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0100c3dc
jmp 0x1015858
push dword [ebp + 8]
call fcn.010190bb
mov dword [esi + 0x20], eax
cmp eax, edi
jne 0x1015641
mov edi, 0xc1500023
push ebx
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x14], edi
call fcn.0100c75d
push edi
push dword [ebp + 8]
mov byte [ebp - 4], 0xb
push edi
push dword [esi + 0x2c]
call fcn.0101a240
push edi
push dword [ebp + 8]
lea eax, [ebp + 0x10]
push 0x1004198
push eax
mov byte [ebp - 4], 0xc
call fcn.0100d36f
mov dword [ebp - 4], 0xb
add esp, 0x20
cmp dword [esi + 0x1c], 0
je 0x1015626
push edi
push 0x1004204
push dword [ebp + 0x10]
mov edi, 0x1038ae8
push 0x1002c6c
push 0x2022
push edi
call fcn.0101b56c
mov ecx, dword [esi + 0x1c]
add esp, 0x18
push edi
push 1
call fcn.01019121
mov ecx, dword [ebp + 0x10]
jmp 0x101557f
mov edx, dword [eax]
lea ecx, [ebp - 0x1c]
push ecx
push dword [ebp - 0x30]
mov ecx, eax
call dword [edx]
test eax, eax
jge 0x101577c
mov edi, 0xc1500023
push ebx
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x14], edi
call fcn.0100c75d
push edi
push dword [ebp + 8]
mov byte [ebp - 4], 0xe
push edi
push dword [esi + 0x2c]
call fcn.0101a240
push edi
push dword [ebp + 8]
lea eax, [ebp + 0x10]
push 0x10038c0
push eax
mov byte [ebp - 4], 0xf
call fcn.0100d36f
mov dword [ebp - 4], 0xe
jmp 0x10155f1
push dword [ebp + 8]
call fcn.010190bb
mov dword [esi + 0x20], eax
cmp eax, edi
jne 0x1015713
mov edi, 0xc1500023
push ebx
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x14], edi
call fcn.0100c75d
push edi
push dword [ebp + 8]
mov byte [ebp - 4], 0x11
push edi
push dword [esi + 0x2c]
call fcn.0101a240
push edi
push dword [ebp + 8]
lea eax, [ebp + 0x10]
push 0x1004198
push eax
mov byte [ebp - 4], 0x12
call fcn.0100d36f
mov dword [ebp - 4], 0x11
jmp 0x10155f1
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 0x101577c
mov edi, 0xc1500023
push ebx
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x14], edi
call fcn.0100c75d
push edi
push dword [ebp + 8]
mov byte [ebp - 4], 0x14
push edi
push dword [esi + 0x2c]
call fcn.0101a240
push edi
push dword [ebp + 8]
lea eax, [ebp + 0x10]
push 0x10038c0
push eax
mov byte [ebp - 4], 0x15
call fcn.0100d36f
mov dword [ebp - 4], 0x14
jmp 0x10155f1
lea eax, [ebp - 0x24]
push eax
push 0x1002af8
push dword [ebp + 0x10]
call fcn.0101cfac
cmp eax, edi
mov dword [ebp - 0x14], eax
jge 0x10157e5
push ebx
lea ecx, [ebp + 8]
call fcn.0100c75d
push dword [ebp - 0x14]
mov byte [ebp - 4], 0x17
push 0xc1500023
push dword [esi + 0x2c]
call fcn.0101a240
push dword [ebp - 0x14]
lea eax, [ebp + 8]
push 0x1003760
push eax
mov byte [ebp - 4], 0x18
call fcn.0100d36f
mov dword [ebp - 4], 0x17
jmp 0x1015546
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x1a
call fcn.0101281c
push eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], 5
call fcn.0101195c
cmp eax, edi
mov dword [ebp - 0x14], eax
jge 0x10158ab
push 0xc1500003
push dword [esi + 0x2c]
call fcn.0101a240
pop ecx
pop ecx
cmp dword [esi + 0x1c], edi
je 0x1015849
push dword [ebp - 0x14]
mov edi, 0x1038ae8
push 0x10037e0
push 0x2022
push edi
call fcn.0101b56c
add esp, 0x10
mov ecx, dword [esi + 0x1c]
push edi
push 1
call fcn.01019121
cmp dword [ebp - 0x20], 0
je 0x1015858
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.0100c3dc
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
call fcn.0100c3dc
push dword [ebp - 0x2c]
call esi
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 0
test eax, eax
je 0x101588f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
or dword [ebp - 4], 0xffffffff
test eax, eax
je 0x10158a0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
call fcn.0101b0dc
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 0x101595a
push ebx
lea ecx, [ebp + 8]
call fcn.0100c75d
push dword [ebp - 0x14]
mov byte [ebp - 4], 0x1c
push dword [ebp - 0x18]
push 0xc1500023
push dword [esi + 0x2c]
call fcn.0101a240
push dword [ebp - 0x14]
lea eax, [ebp + 8]
push dword [ebp - 0x18]
mov byte [ebp - 4], 0x1d
push 0x10036f0
push eax
call fcn.0100d36f
add esp, 0x20
cmp dword [esi + 0x1c], edi
mov dword [ebp - 4], 0x1c
je 0x1015937
push dword [ebp - 0x14]
mov edi, 0x1038ae8
push 0x1004204
push dword [ebp + 8]
push 0x1002c6c
push 0x2022
push edi
call fcn.0101b56c
mov ecx, dword [esi + 0x1c]
add esp, 0x18
push edi
push 1
call fcn.01019121
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0100c3dc
jmp 0x1015849
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 0x10159f8
push 0x1001418
push dword [esi]
push dword [esi + 0x2c]
call fcn.010128f8
cmp dword [esi + 0x1c], edi
mov ebx, eax
mov edi, 0x1038ae8
je 0x10159b0
push dword [ebp - 0x14]
push 0x1004138
push 0x2022
push edi
call fcn.0101b56c
mov ecx, dword [esi + 0x1c]
add esp, 0x10
push edi
push 1
call fcn.01019121
test ebx, ebx
jl 0x10159bd
cmp ebx, 1
jne 0x1015849
push dword [ebp + 8]
push 0xc1500040
push dword [esi + 0x2c]
call fcn.0101a240
add esp, 0xc
cmp dword [esi + 0x1c], 0
je 0x1015849
push dword [ebp - 0x14]
push dword [ebp + 8]
push 0x10040a8
push 0x2022
push edi
call fcn.0101b56c
add esp, 0x14
jmp 0x101583e
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 0x1015aa1
push ebx
lea ecx, [ebp + 0x10]
call fcn.0100c75d
push dword [ebp - 0x14]
mov byte [ebp - 4], 0x1f
push dword [ebp + 8]
push 0xc1500024
push dword [esi + 0x2c]
call fcn.0101a240
push dword [ebp - 0x14]
lea eax, [ebp + 0x10]
push dword [ebp + 8]
mov byte [ebp - 4], 0x20
push 0x1004020
push eax
call fcn.0100d36f
add esp, 0x20
cmp dword [esi + 0x1c], 0
mov dword [ebp - 4], 0x1f
je 0x1015a86
push dword [ebp - 0x14]
mov edi, 0x1038ae8
push 0x1004204
push dword [ebp + 0x10]
push 0x1002c6c
push 0x2022
push edi
call fcn.0101b56c
mov ecx, dword [esi + 0x1c]
add esp, 0x18
push edi
push 1
call fcn.01019121
mov ecx, dword [ebp + 0x10]
jmp 0x101593a
push dword [ebp + 0xc]
mov edi, dword [edi]
push dword [ebp + 0x10]
mov ecx, esi
push dword [ebp + 0x14]
push edi
call fcn.01014beb
mov dword [ebp - 0x14], eax
test eax, eax
jl 0x1015849
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 0x1015b29
push ebx
lea ecx, [ebp + 8]
call fcn.0100c75d
push edi
push 0xc1500024
push dword [esi + 0x2c]
mov byte [ebp - 4], 0x22
call fcn.0101a240
push edi
lea eax, [ebp + 8]
push 0x1003fa8
push eax
mov byte [ebp - 4], 0x23
call fcn.0100d36f
add esp, 0x18
cmp dword [esi + 0x1c], 0
mov dword [ebp - 4], 0x22
jmp 0x1015907
push dword [ebp - 0x2c]
push 0xc1500038
push 3
push dword [esi + 0x28]
call fcn.0100ed82
add esp, 0x10
jmp 0x1015849