Function at 0x10001a30
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov edx, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
mov eax, ecx
xor ecx, ecx
push esi
push edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], ebx
mov dword [ebp + 0xc], ecx
mov esi, edx
cmp word [edx], cx
je 0x10001d5a
jmp 0x10001a60
cmp word [esi], 0x25
jne 0x10001d3d
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx ecx, word [esi]
cmp ecx, 0x25
je 0x10001d3a
xor edi, edi
xor edx, edx
mov dword [ebp - 0x10], edi
mov dword [ebp - 8], edx
test cx, cx
je 0x10001ae1
mov edi, dword [ebp + 0xc]
cmp cx, 0x23
jne 0x10001a9c
add edi, 2
jmp 0x10001ac4
cmp cx, 0x2a
jne 0x10001aac
mov eax, dword [ebx]
add ebx, 4
mov dword [ebp - 8], eax
jmp 0x10001ac4
cmp cx, 0x2d
je 0x10001ac4
cmp cx, 0x2b
je 0x10001ac4
cmp cx, 0x30
je 0x10001ac4
cmp cx, 0x20
jne 0x10001ad5
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx ecx, word [esi]
test cx, cx
jne 0x10001a91
cmp dword [ebp - 8], 0
mov dword [ebp + 0xc], edi
mov edi, dword [ebp - 0x10]
jne 0x10001b18
push esi
call dword [sym.imp.MSVCR110.dll__wtoi]
movzx ecx, word [esi]
add esp, 4
mov dword [ebp - 8], eax
test cx, cx
je 0x10001b18
movzx ecx, cx
push ecx
call dword [sym.imp.MSVCR110.dll_iswdigit]
add esp, 4
test eax, eax
je 0x10001b18
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx ecx, word [esi]
test cx, cx
jne 0x10001af6
cmp word [esi], 0x2e
mov dword [ebp - 0x10], 0
jne 0x10001b82
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
push esi
cmp word [esi], 0x2a
jne 0x10001b47
mov eax, dword [ebx]
add ebx, 4
mov dword [ebp - 0x10], eax
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
jmp 0x10001b82
call dword [sym.imp.MSVCR110.dll__wtoi]
movzx ecx, word [esi]
add esp, 4
mov dword [ebp - 0x10], eax
test cx, cx
je 0x10001b82
jmp 0x10001b60
movzx ecx, cx
push ecx
call dword [sym.imp.MSVCR110.dll_iswdigit]
add esp, 4
test eax, eax
je 0x10001b82
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx ecx, word [esi]
test cx, cx
jne 0x10001b60
movzx eax, word [esi]
mov dword [ebp - 0xc], 0
cmp eax, 0x49
jne 0x10001bab
cmp word [esi + 2], 0x36
jne 0x10001bab
cmp word [esi + 4], 0x34
jne 0x10001bab
add esi, 6
mov dword [ebp - 0xc], 0x40000
jmp case.0x10001bba.71
add eax, 0xffffffba
cmp eax, 0x26
ja case.0x10001bba.71
movzx eax, byte [eax + 0x10001e88]
jmp dword [eax*4 + 0x10001e78]
mov dword [ebp - 0xc], 0x10000
jmp case.0x10001bba.70
mov dword [ebp - 0xc], 0x20000
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
mov ecx, dword [ebp - 0xc]
or eax, ecx
cmp eax, 0x10063
jg 0x10001c71
je 0x10001c09
cmp eax, 0x73
jg 0x10001c63
je 0x10001c4a
cmp eax, 0x43
je 0x10001c09
cmp eax, 0x53
je 0x10001c31
cmp eax, 0x63
jne 0x10001cd5
mov edi, 2
add ebx, 4
mov eax, dword [ebp - 8]
cmp edi, eax
cmovg eax, edi
mov edi, eax
mov eax, dword [ebp - 0x10]
test eax, eax
je case.0x10001ceb.70
cmp edi, eax
cmovl eax, edi
mov edi, eax
add dword [ebp + 0xc], edi
jmp 0x10001d41
mov eax, dword [ebx]
add ebx, 4
test eax, eax
jne 0x10001c3f
lea edi, [eax + 6]
jmp 0x10001c11
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
jmp 0x10001cbf
mov eax, dword [ebx]
add ebx, 4
test eax, eax
jne 0x10001c58
lea edi, [eax + 6]
jmp 0x10001c11
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, eax
jmp 0x10001cbf
sub eax, 0x10043
je 0x10001c09
sub eax, 0x10
je 0x10001c31
jmp 0x10001cd5
cmp eax, 0x20053
jg 0x10001c8a
je 0x10001c9a
cmp eax, 0x10073
je 0x10001c31
cmp eax, 0x20043
je 0x10001c09
jmp 0x10001cd5
sub eax, 0x20063
je 0x10001c09
sub eax, 0x10
jne 0x10001cd5
mov edi, dword [ebx]
add ebx, 4
test edi, edi
jne 0x10001cad
mov edi, 6
jmp 0x10001c11
lea ecx, [edi + 2]
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x10001cb0
sub edi, ecx
sar edi, 1
cmp edi, 1
mov eax, 1
cmovl edi, eax
test edi, edi
jne 0x10001c11
mov ecx, dword [ebp - 0xc]
movzx eax, word [esi]
add eax, 0xffffffbb
cmp eax, 0x33
ja case.0x10001ceb.70
movzx eax, byte [eax + 0x10001ec4]
jmp dword [eax*4 + 0x10001eb0]
test ecx, 0x40000
je case.0x10001ceb.112
add ebx, 8
jmp 0x10001d02
add ebx, 4
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 8]
mov edi, 0x20
cmp eax, edi
jl case.0x10001ceb.70
mov edi, eax
add dword [ebp + 0xc], edi
jmp 0x10001d41
push 0x1000e410
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call dword [sym.imp.KERNEL32.dll_DebugBreak]
add dword [ebp + 0xc], edi
jmp 0x10001d41
add ebx, 4
add dword [ebp + 0xc], edi
jmp 0x10001d41
mov ecx, dword [ebp + 0xc]
inc ecx
mov dword [ebp + 0xc], ecx
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov ecx, dword [ebp + 0xc]
mov esi, eax
cmp word [esi], 0
jne 0x10001a60
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ebx, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete___void__]
cmp dword [eax - 0xc], 1
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea esi, [eax - 0xc]
jg 0x10001d76
cmp ecx, dword [eax - 4]
jle 0x10001dcb
mov edi, dword [eax - 8]
cmp ecx, edi
cmovl ecx, edi
push ecx
mov ecx, dword [ebp - 4]
call fcn.10002040
test eax, eax
je 0x10001e6b
lea eax, [edi*2 + 2]
push eax
lea eax, [esi + 0xc]
push eax
mov eax, dword [ebp - 4]
push dword [eax]
call sub.MSVCR110.dll_memcpy
mov eax, dword [ebp - 4]
add esp, 0xc
mov eax, dword [eax]
mov dword [eax - 8], edi
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp esi, 0x10011024
je 0x10001dcb
push esi
call edi
test eax, eax
jg 0x10001dcb
push esi
call ebx
add esp, 4
mov esi, dword [ebp - 4]
mov eax, dword [esi]
test eax, eax
je 0x10001e6b
push dword [ebp - 0x14]
push dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_wvsprintfW]
mov eax, dword [esi]
cmp dword [eax - 0xc], 1
lea esi, [eax - 0xc]
jle 0x10001e47
add eax, 0xfffffff4
cmp eax, 0x10011024
je 0x10001e1b
push esi
call edi
test eax, eax
jg 0x10001e0f
mov eax, dword [ebp - 4]
mov eax, dword [eax]
sub eax, 0xc
push eax
call ebx
add esp, 4
mov ebx, dword [ebp - 4]
mov eax, dword [0x10011034]
mov dword [ebx], eax
jmp 0x10001e1e
mov ebx, dword [ebp - 4]
push dword [esi + 4]
mov ecx, ebx
call fcn.10002040
test eax, eax
je 0x10001e4a
mov eax, dword [esi + 4]
lea eax, [eax*2 + 2]
push eax
lea eax, [esi + 0xc]
push eax
push dword [ebx]
call sub.MSVCR110.dll_memcpy
add esp, 0xc
jmp 0x10001e4a
mov ebx, dword [ebp - 4]
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebx]
pop edi
mov dword [ecx - 8], eax
mov ecx, dword [ebx]
xor edx, edx
pop esi
mov word [ecx + eax*2], dx
lea eax, [edx + 1]
pop ebx
mov esp, ebp
pop ebp
ret 8
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8