Function at 0x4b8f55
Capabilities:
Print debug messages

Disassembly:
push ebx
mov ebx, dword [esp + 8]
xor ecx, ecx
push ebp
mov ebp, 3
cmp dword [ebx], ecx
je 0x4b9068
mov eax, dword [ebx + 4]
cmp eax, 0xd
mov dword [ebx], ecx
jle 0x4b8f42
call fcn.004ca755
and eax, 0xff
cdq
mov ecx, 7
idiv ecx
mov dword [ebx + 0xc], edx
cmp edx, dword [0x530ab8]
jne 0x4b9051
lea eax, [edx*4]
cdq
idiv ecx
mov dword [ebx + 0xc], edx
jmp 0x4b9051
add eax, 0xfffffffb
cmp eax, 8
ja case.default.0x4b8f4e
jmp dword [eax*4 + 0x4b92b0]
call fcn.004ca755
and eax, 0x10b
cdq
mov ecx, 6
idiv ecx
mov dword [ebx + 0xc], edx
jmp 0x4b9051
call fcn.004ca755
and eax, 0x10a
and eax, 0x80000003
jns 0x4b8f85
dec eax
or eax, 0xfffffffc
inc eax
mov edx, dword [eax*4 + 0x530abc]
mov dword [ebx + 0xc], edx
jmp 0x4b9051
call fcn.004ca755
and eax, 0x109
and eax, 0x80000003
jns 0x4b8faa
dec eax
or eax, 0xfffffffc
inc eax
mov eax, dword [eax*4 + 0x530acc]
mov dword [ebx + 0xc], eax
jmp 0x4b9051
call fcn.004ca755
and eax, 0x108
cdq
mov ecx, ebp
idiv ecx
mov edx, dword [edx*4 + 0x530adc]
mov dword [ebx + 0xc], edx
jmp 0x4b9051
call fcn.004ca755
and eax, 0x107
cdq
mov ecx, 6
idiv ecx
mov dword [ebx + 0xc], edx
jmp 0x4b9051
call fcn.004ca755
and eax, 0x106
cdq
mov ecx, ebp
idiv ecx
mov dword [ebx + 0xc], edx
jmp 0x4b9051
mov dword [ebx + 0xc], 6
jmp 0x4b9053
call fcn.004ca755
and eax, 0x103
cdq
mov ecx, ebp
idiv ecx
lea eax, [edx + 3]
mov dword [ebx + 0xc], eax
cmp eax, dword [0x530ab8]
jne 0x4b9051
inc eax
cdq
idiv ecx
add edx, ebp
mov dword [ebx + 0xc], edx
jmp 0x4b9051
call fcn.004ca755
and eax, 0x102
cdq
mov ecx, ebp
idiv ecx
mov dword [ebx + 0xc], edx
cmp edx, dword [0x530ab8]
jne 0x4b9051
mov dword [ebx + 0xc], 1
xor ecx, ecx
mov eax, dword [ebx + 0xc]
mov dword [ebx + 0x10], ecx
mov edx, dword [eax*4 + 0x530a80]
mov dword [0x530ab8], eax
mov dword [ebx + 0x14], edx
mov eax, dword [esp + 0x10]
mov edx, 1
mov dword [edi], edx
mov dword [edi + 4], edx
mov dword [eax], edx
mov eax, dword [ebx + 0xc]
mov dword [esi], ecx
mov dword [esi + 4], ecx
cmp eax, 6
ja case.default.0x4b9089
jmp dword [eax*4 + 0x4b92d4]
mov eax, dword [ebx + 0x10]
cmp eax, ebp
ja case.default.0x4b909b
jmp dword [eax*4 + 0x4b92f0]
mov eax, 2
mov dword [esi + 4], ecx
mov dword [esi], ecx
mov dword [edi], eax
mov dword [edi + 4], eax
jmp case.default.0x4b909b
mov eax, 2
mov dword [esi], ecx
mov dword [esi + 4], eax
mov dword [edi], eax
mov dword [edi + 4], eax
jmp case.default.0x4b909b
mov dword [esi], edx
mov dword [esi + 4], 4
jmp case.default.0x4b909b
mov eax, dword [ebx + 0x10]
cmp eax, ebp
ja case.default.0x4b909b
jmp dword [eax*4 + 0x4b9300]
mov dword [esi], ecx
mov dword [esi + 4], 2
jmp case.default.0x4b909b
mov dword [esi], edx
mov dword [esi + 4], 2
jmp case.default.0x4b909b
mov eax, 2
mov dword [esi], ecx
mov dword [esi + 4], ebp
mov dword [edi], eax
mov dword [edi + 4], eax
jmp case.default.0x4b909b
mov eax, dword [ebx + 0x10]
cmp eax, ebp
ja case.default.0x4b909b
jmp dword [eax*4 + 0x4b9310]
mov dword [esi + 4], ecx
mov dword [esi], ecx
jmp case.default.0x4b909b
mov dword [esi], edx
mov dword [esi + 4], ecx
jmp case.default.0x4b909b
mov eax, 2
mov dword [esi + 4], edx
mov dword [esi], ecx
mov dword [edi], eax
mov dword [edi + 4], eax
jmp case.default.0x4b909b
mov eax, dword [ebx + 0x10]
cmp eax, 4
ja case.default.0x4b909b
jmp dword [eax*4 + 0x4b9320]
mov dword [esi], ecx
mov dword [esi + 4], ecx
mov dword [edi], ebp
mov dword [edi + 4], ebp
jmp case.default.0x4b909b
mov dword [esi], ebp
mov dword [esi + 4], ecx
mov dword [edi], ebp
mov dword [edi + 4], ebp
jmp case.default.0x4b909b
mov eax, 2
mov dword [esi], eax
mov dword [esi + 4], ebp
mov dword [edi], eax
mov dword [edi + 4], eax
jmp case.default.0x4b909b
mov eax, 2
mov dword [esi], 4
mov dword [esi + 4], ebp
mov dword [edi], eax
mov dword [edi + 4], eax
jmp case.default.0x4b909b
mov eax, dword [ebx + 0x10]
cmp eax, 4
ja case.default.0x4b909b
jmp dword [eax*4 + 0x4b9334]
mov dword [esi], ebp
mov dword [esi + 4], ecx
mov dword [edi], ebp
mov dword [edi + 4], ebp
jmp case.default.0x4b909b
mov eax, dword [ebx + 0x10]
cmp eax, 4
ja case.default.0x4b909b
jmp dword [eax*4 + 0x4b9348]
mov eax, 2
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [edi], eax
mov dword [edi + 4], eax
jmp case.default.0x4b909b
mov eax, 2
mov dword [esi], 4
mov dword [esi + 4], ecx
mov dword [edi], eax
mov dword [edi + 4], eax
jmp case.default.0x4b909b
mov dword [esi], ecx
mov dword [esi + 4], 2
mov dword [edi], ebp
mov dword [edi + 4], ebp
jmp case.default.0x4b909b
mov dword [esi], ebp
mov dword [esi + 4], 2
mov dword [edi], ebp
mov dword [edi + 4], ebp
jmp case.default.0x4b909b
mov eax, dword [ebx + 0x10]
cmp eax, 5
ja case.default.0x4b909b
jmp dword [eax*4 + 0x4b935c]
mov dword [esi], edx
mov dword [esi + 4], 2
mov dword [edi], ebp
mov dword [edi + 4], ebp
jmp case.default.0x4b909b
mov dword [esi], ecx
mov dword [esi + 4], ebp
jmp case.default.0x4b909b
mov dword [esi], ecx
mov dword [esi + 4], 4
jmp case.default.0x4b909b
push 0x502d24
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, dword [edi]
imul ecx, dword [edi + 4]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
mov eax, dword [ebx + 0xc]
inc dword [ebx + 0x10]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0x10]
add dword [esi], ecx
add eax, eax
add eax, eax
cmp edx, dword [eax + 0x530a80]
jne 0x4b92a6
mov dword [ebx + 0x10], 0
mov eax, dword [eax + 0x530a9c]
add eax, ecx
mov dword [ebx + 8], eax
mov dword [ebx], 1
dec dword [ebx + 4]
pop ebp
mov eax, esi
pop ebx
ret 8