Function at 0x10020470
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x10090420
push 0x1005aa50
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x1009cbc0]
xor dword [ebp - 8], eax
xor eax, ebp
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov edi, edx
mov dword [ebp - 0x1c], edi
mov ebx, ecx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 4], 0
test ebx, ebx
je 0x10020a3a
cmp dword [ebx], 0x1234abcd
jne 0x10020a3a
mov dword [ebp - 4], 1
lea eax, [ebx + 8]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [edi + 0x208]
mov dword [ebp - 0x20], eax
mov ecx, eax
call fcn.10004320
mov edi, eax
test edi, edi
je 0x100205a3
push 0x1000a
call fcn.1005218a
add esp, 4
mov esi, eax
test esi, esi
jne 0x10020520
push str.Memory_allocation_error_in_log_file_n
call fcn.10052604
add esp, 4
push str.Memory_allocation_error_in_log_file_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x1002057c
push 0x100865c0
push 0xffff
push esi
call fcn.10052136
add esp, 0xc
push edi
test eax, eax
jle 0x1002055b
mov byte [esi + 0xffff], 0
push esi
push str.AddShieldApplication
push 1
mov edx, 0x2b2
mov ecx, str...StandAloneSvcClientIPC.cpp
call fcn.10001cf0
add esp, 0x10
jmp 0x10020573
push str.Error__d_in_swprintf_s_n
call fcn.10052604
add esp, 8
push str.Error_in_swprintf_s_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push esi
call fcn.10052152
add esp, 4
push 0xfffffffffffffffe
lea eax, [ebp - 0x10]
push eax
push 0x1009cbc0
call fcn.10062b20
add esp, 0xc
mov eax, edi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor esi, esi
mov dword [ebp - 0x24], esi
cmp esi, dword [ebx + 0x4264]
jge 0x100207c4
imul edi, esi, 0xa30
push dword [ebp - 0x1c]
mov eax, dword [ebx + 0x426c]
add eax, edi
push eax
call fcn.100513c3
add esp, 8
test eax, eax
je 0x10020615
mov eax, dword [ebp - 0x1c]
add eax, 0x410
push eax
mov eax, dword [ebx + 0x426c]
add eax, 0x410
add eax, edi
push eax
call fcn.100513c3
add esp, 8
test eax, eax
je 0x10020615
push dword [ebp - 0x20]
mov eax, dword [ebx + 0x426c]
add eax, 0x208
add eax, edi
push eax
call fcn.100513c3
add esp, 8
test eax, eax
je 0x10020615
inc esi
jmp 0x100205a5
cmp esi, dword [ebx + 0x4264]
jge 0x100207c4
mov edi, dword [ebp - 0x1c]
mov edx, dword [edi + 0x624]
imul ecx, esi, 0xa30
mov eax, dword [ebx + 0x426c]
cmp dword [eax + ecx + 0x624], edx
jae 0x100206f7
push 0x1000a
call fcn.1005218a
add esp, 4
mov esi, eax
test esi, esi
jne 0x10020670
push str.Memory_allocation_error_in_log_file_n
call fcn.10052604
add esp, 4
push str.Memory_allocation_error_in_log_file_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x100206cd
push 0x100865c0
push 0xffff
push esi
call fcn.10052136
add esp, 0xc
push 2
test eax, eax
jle 0x100206ac
mov byte [esi + 0xffff], 0
push esi
push str.AddShieldApplication
push 1
mov edx, 0x2c2
mov ecx, str...StandAloneSvcClientIPC.cpp
call fcn.10001cf0
add esp, 0x10
jmp 0x100206c4
push str.Error__d_in_swprintf_s_n
call fcn.10052604
add esp, 8
push str.Error_in_swprintf_s_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push esi
call fcn.10052152
add esp, 4
push 0xfffffffffffffffe
lea eax, [ebp - 0x10]
push eax
push 0x1009cbc0
call fcn.10062b20
add esp, 0xc
mov eax, 2
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 3
jne 0x10020752
push 0x1000a
call fcn.1005218a
add esp, 4
mov esi, eax
test esi, esi
je 0x10020656
push 0x100865c0
push 0xffff
push esi
call fcn.10052136
add esp, 0xc
push 2
test eax, eax
jle 0x100206ac
mov byte [esi + 0xffff], 0
push esi
push str.AddShieldApplication
push 1
mov edx, 0x2c6
mov ecx, str...StandAloneSvcClientIPC.cpp
call fcn.10001cf0
add esp, 0x10
jmp 0x100206c4
push edx
push 0
lea edx, [edi + 0x410]
mov ecx, ebx
call fcn.10020bb0
add esp, 8
mov edi, eax
test edi, edi
je 0x100207c4
push 0x1000a
call fcn.1005218a
add esp, 4
mov esi, eax
test esi, esi
je 0x10020506
push 0x100865c0
push 0xffff
push esi
call fcn.10052136
add esp, 0xc
push edi
test eax, eax
jle 0x1002055b
mov byte [esi + 0xffff], 0
push esi
push str.AddShieldApplication
push 1
mov edx, 0x2cb
mov ecx, str...StandAloneSvcClientIPC.cpp
call fcn.10001cf0
add esp, 0x10
jmp 0x10020573
mov eax, dword [ebx + 0x4268]
cmp eax, dword [ebx + 0x4264]
jg 0x10020907
add eax, 0xa
mov dword [ebp - 0x20], eax
imul edi, eax, 0xa30
lea eax, [edi + 0xa]
push eax
call fcn.1005218a
add esp, 4
mov esi, eax
test esi, esi
jne 0x100208ac
push 0x1000a
call fcn.1005218a
add esp, 4
mov esi, eax
test esi, esi
jne 0x10020825
push str.Memory_allocation_error_in_log_file_n
call fcn.10052604
add esp, 4
push str.Memory_allocation_error_in_log_file_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x10020882
push 0x100865c0
push 0xffff
push esi
call fcn.10052136
add esp, 0xc
push 5
test eax, eax
jle 0x10020861
mov byte [esi + 0xffff], 0
push esi
push str.AddShieldApplication
push 1
mov edx, 0x2d4
mov ecx, str...StandAloneSvcClientIPC.cpp
call fcn.10001cf0
add esp, 0x10
jmp 0x10020879
push str.Error__d_in_swprintf_s_n
call fcn.10052604
add esp, 8
push str.Error_in_swprintf_s_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push esi
call fcn.10052152
add esp, 4
push 0xfffffffffffffffe
lea eax, [ebp - 0x10]
push eax
push 0x1009cbc0
call fcn.10062b20
add esp, 0xc
mov eax, 5
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
push 0
push esi
call fcn.10055aa0
add esp, 0xc
cmp dword [ebx + 0x4268], 0
je 0x100208f8
imul eax, dword [ebx + 0x4264], 0xa30
push eax
push dword [ebx + 0x426c]
push esi
call fcn.10055450
add esp, 0xc
mov eax, dword [ebx + 0x426c]
test eax, eax
je 0x100208ee
push eax
call fcn.10052152
add esp, 4
mov dword [ebx + 0x426c], 0
mov dword [ebx + 0x426c], esi
mov eax, dword [ebp - 0x20]
mov dword [ebx + 0x4268], eax
imul eax, dword [ebx + 0x4264], 0xa30
mov edi, dword [ebx + 0x426c]
add edi, eax
mov ecx, 0x28c
mov esi, dword [ebp - 0x1c]
rep movsd dword es:[edi], dword [esi]
inc dword [ebx + 0x4264]
mov ecx, ebx
call fcn.1001b0a0
mov edi, eax
test edi, edi
je 0x1002098f
push 0x1000a
call fcn.1005218a
add esp, 4
mov esi, eax
test esi, esi
je 0x10020506
push 0x100865c0
push 0xffff
push esi
call fcn.10052136
add esp, 0xc
push edi
test eax, eax
jle 0x1002055b
mov byte [esi + 0xffff], 0
push esi
push str.AddShieldApplication
push 1
mov edx, 0x2e9
mov ecx, str...StandAloneSvcClientIPC.cpp
call fcn.10001cf0
add esp, 0x10
jmp 0x10020573
push 1
mov edx, dword [ebx + 0x4264]
dec edx
mov ecx, ebx
call fcn.10037fd0
add esp, 4
mov edi, eax
test edi, edi
je 0x10020a01
push 0x1000a
call fcn.1005218a
add esp, 4
mov esi, eax
test esi, esi
je 0x10020506
push 0x100865c0
push 0xffff
push esi
call fcn.10052136
add esp, 0xc
push edi
test eax, eax
jle 0x1002055b
mov byte [esi + 0xffff], 0
push esi
push str.AddShieldApplication
push 1
mov edx, 0x2ee
mov ecx, str...StandAloneSvcClientIPC.cpp
call fcn.10001cf0
add esp, 0x10
jmp 0x10020573
mov dword [ebp - 4], 0
call fcn.10020a2b
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x1000a
call fcn.1005218a
add esp, 4
mov esi, eax
test esi, esi
jne 0x10020a81
push str.Memory_allocation_error_in_log_file_n
call fcn.10052604
add esp, 4
push str.Memory_allocation_error_in_log_file_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [ebp - 4], 0xfffffffe
lea eax, [esi + 8]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x100865c0
push 0xffff
push esi
call fcn.10052136
add esp, 0xc
push 8
test eax, eax
jle 0x10020abd
mov byte [esi + 0xffff], 0
push esi
push str.AddShieldApplication
push 1
mov edx, 0x2ab
mov ecx, str...StandAloneSvcClientIPC.cpp
call fcn.10001cf0
add esp, 0x10
jmp 0x10020ad5
push str.Error__d_in_swprintf_s_n
call fcn.10052604
add esp, 8
push str.Error_in_swprintf_s_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push esi
call fcn.10052152
add esp, 4
mov dword [ebp - 4], 0xfffffffe
mov eax, 8
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret