Function at 0x40a9c0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59aea5
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
mov eax, dword [0x618190]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0xa4], ebx
cmp byte [edi + 8], 6
je 0x40aa06
xor eax, eax
jmp 0x40acc6
mov ecx, edi
mov byte [0x627e78], bl
call fcn.00434e10
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x9c], vtable.CChineseCodeLib.0
push 0
mov esi, 0x627b90
mov dword [ebp - 4], 0
push 0x5ed1da
mov ecx, esi
call fcn.0041fab0
push ecx
mov edx, 0x627b48
mov ecx, esi
call fcn.00401ef0
add esp, 4
cmp dword [0x627ba4], 0x10
cmovae esi, dword [0x627b90]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
cmp byte [esi], 0
jne 0x40aa7d
xor ecx, ecx
jmp 0x40aa8b
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aa82
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x2c]
call fcn.0041fab0
xor esi, esi
mov dword [ebp - 4], 1
cmp dword [ebp - 0x98], esi
jle 0x40ac5f
lea ebx, [ebx]
push esi
mov ecx, edi
call fcn.004351d0
cmp byte [eax + 8], 7
jne 0x40abf5
push esi
mov ecx, edi
call fcn.004351d0
push 0x5e99fc
push str.name
mov ecx, eax
call fcn.004356b0
test eax, eax
je 0x40abf5
push esi
mov ecx, edi
call fcn.004351d0
push 0x5e99fc
push str.name
mov ecx, eax
call fcn.00435430
cmp byte [eax + 8], 4
jne 0x40abf5
push esi
mov ecx, edi
call fcn.004351d0
push 0x5e99fc
push str.name
mov ecx, eax
call fcn.00435430
lea ecx, [ebp - 0xbc]
push ecx
mov ecx, eax
call fcn.004344e0
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 2
lea edx, [ebp - 0x2c]
mov ecx, dword [eax + 0x10]
or ebx, 1
cmp dword [ebp - 0x18], 0x10
mov dword [ebp - 0x94], ebx
cmovae edx, dword [ebp - 0x2c]
cmp dword [eax + 0x14], 0x10
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0x9c], ecx
jb 0x40ab68
mov eax, dword [eax]
mov dword [ebp - 0xa0], eax
mov ebx, dword [ebp - 0x1c]
cmp ecx, ebx
mov eax, ebx
cmovb eax, ecx
mov ecx, dword [ebp - 0xa0]
push eax
call fcn.0041d060
add esp, 4
test eax, eax
jne 0x40ab9d
mov ecx, dword [ebp - 0x9c]
cmp ecx, ebx
jae 0x40ab94
or eax, 0xffffffff
jmp 0x40ab9b
xor eax, eax
cmp ecx, ebx
setne al
test eax, eax
sete al
test al, al
je 0x40abef
push esi
mov ecx, edi
call fcn.004351d0
push 0x5e99ee
push str.enable
mov ecx, eax
call fcn.004356b0
test eax, eax
je 0x40abef
push esi
mov ecx, edi
call fcn.004351d0
push 0x5e99ee
push str.enable
mov ecx, eax
call fcn.00435430
mov ebx, dword [ebp - 0x94]
cmp byte [eax + 8], 5
jne 0x40abf5
mov byte [ebp - 0x8d], 1
jmp 0x40abfc
mov ebx, dword [ebp - 0x94]
mov byte [ebp - 0x8d], 0
mov dword [ebp - 4], 1
test bl, 1
je 0x40ac22
and ebx, 0xfffffffe
cmp dword [ebp - 0xa8], 0x10
jb 0x40ac22
push dword [ebp - 0xbc]
call fcn.0043b833
add esp, 4
cmp byte [ebp - 0x8d], 0
jne 0x40ac3a
inc esi
cmp esi, dword [ebp - 0x98]
jl 0x40aab0
jmp 0x40ac5f
push esi
mov ecx, edi
call fcn.004351d0
push 0x5e99ee
push str.enable
mov ecx, eax
call fcn.00435430
mov ecx, eax
call fcn.00434d20
mov byte [0x627e78], al
cmp byte [0x627e78], 0
mov ecx, 0x5e9ee0
mov eax, 0x5e9ed8
cmove eax, ecx
push eax
push str.CDebugLog_ParseFilterModuleArray
lea eax, [ebp - 0x8c]
push eax
push 0x6279dc
call fcn.004134e0
add esp, 0x10
lea eax, [ebp - 0x8c]
cmp dword [ebp - 0x78], 8
cmovae eax, dword [ebp - 0x8c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x8c]
call fcn.00402150
cmp dword [ebp - 0x18], 0x10
jb 0x40acc1
push dword [ebp - 0x2c]
call fcn.0043b833
add esp, 4
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00550cb3
mov esp, ebp
pop ebp
ret 4