Function at 0x41e940
Capabilities:
Print debug messages

Disassembly:
push ebx
mov ebx, dword [esp + 8]
xor edx, edx
push ebp
mov ebp, dword [esp + 0x10]
cmp dword [edi + 4], edx
je 0x41ea48
mov eax, dword [edi + 8]
cmp eax, 0xd
mov dword [edi + 4], edx
jle 0x41e913
call fcn.004ca755
and eax, 0xff
cdq
mov ecx, 7
idiv ecx
mov dword [edi + 0x10], edx
cmp edx, dword [0x52cec0]
jne 0x41ea31
lea eax, [edx*4]
cdq
idiv ecx
mov dword [edi + 0x10], edx
jmp 0x41ea31
add eax, 0xfffffffb
cmp eax, 8
ja case.default.0x41e91f
jmp dword [eax*4 + 0x41ec34]
call fcn.004ca755
and eax, 0x10b
cdq
mov ecx, 6
idiv ecx
mov dword [edi + 0x10], edx
jmp 0x41ea31
call fcn.004ca755
and eax, 0x10a
and eax, 0x80000003
jns 0x41e956
dec eax
or eax, 0xfffffffc
inc eax
mov edx, dword [eax*4 + 0x52cec4]
mov dword [edi + 0x10], edx
jmp 0x41ea31
call fcn.004ca755
and eax, 0x109
and eax, 0x80000003
jns 0x41e97b
dec eax
or eax, 0xfffffffc
inc eax
mov eax, dword [eax*4 + 0x52ced4]
mov dword [edi + 0x10], eax
jmp 0x41ea31
call fcn.004ca755
and eax, 0x108
cdq
mov ecx, 3
idiv ecx
mov edx, dword [edx*4 + 0x52cee4]
mov dword [edi + 0x10], edx
jmp 0x41ea31
call fcn.004ca755
and eax, 0x107
cdq
mov ecx, 6
idiv ecx
mov dword [edi + 0x10], edx
jmp 0x41ea31
call fcn.004ca755
and eax, 0x106
cdq
mov ecx, 3
idiv ecx
mov dword [edi + 0x10], edx
jmp 0x41ea31
mov dword [edi + 0x10], 6
jmp 0x41ea33
call fcn.004ca755
and eax, 0x103
cdq
mov ecx, 3
idiv ecx
lea eax, [edx + 3]
mov dword [edi + 0x10], eax
cmp eax, dword [0x52cec0]
jne 0x41ea31
inc eax
cdq
idiv ecx
add edx, ecx
mov dword [edi + 0x10], edx
jmp 0x41ea31
call fcn.004ca755
and eax, 0x102
cdq
mov ecx, 3
idiv ecx
mov dword [edi + 0x10], edx
cmp edx, dword [0x52cec0]
jne 0x41ea31
mov dword [edi + 0x10], 1
xor edx, edx
mov eax, dword [edi + 0x10]
mov dword [0x52cec0], eax
mov dword [edi + 0x14], edx
mov eax, dword [eax*4 + 0x52ce88]
mov dword [edi + 0x18], eax
mov ecx, 1
mov dword [ebx], ecx
mov dword [ebx + 4], ecx
mov dword [ebp], ecx
mov eax, dword [edi + 0x10]
mov dword [esi], edx
mov dword [esi + 4], edx
cmp eax, 6
ja case.default.0x41ea66
jmp dword [eax*4 + 0x41ec58]
mov ecx, dword [edi + 0x14]
mov dword [esi], ecx
mov dword [esi + 4], edx
jmp case.default.0x41ea86
mov eax, dword [edi + 0x14]
cmp eax, 3
ja case.default.0x41ea86
jmp dword [eax*4 + 0x41ec74]
mov dword [esi + 4], edx
mov dword [esi], edx
jmp case.default.0x41ea86
mov dword [ebx], 3
mov dword [ebx + 4], 2
mov dword [esi], ecx
mov dword [esi + 4], edx
mov dword [ebp], 9
jmp case.default.0x41ea86
mov dword [esi], edx
mov dword [esi + 4], ecx
jmp case.default.0x41ea86
mov dword [esi], edx
mov dword [esi + 4], 2
jmp case.default.0x41ea86
mov eax, dword [edi + 0x14]
cmp eax, 3
ja case.default.0x41ea86
jmp dword [eax*4 + 0x41ec84]
mov dword [ebx], 3
mov dword [ebx + 4], 2
mov dword [esi + 4], edx
mov dword [esi], edx
mov dword [ebp], 9
jmp case.default.0x41ea86
mov dword [esi], 3
mov dword [esi + 4], edx
jmp case.default.0x41ea86
mov dword [esi], 3
mov dword [esi + 4], 2
jmp case.default.0x41ea86
mov eax, dword [edi + 0x14]
cmp eax, 4
ja case.default.0x41ea86
jmp dword [eax*4 + 0x41ec94]
mov dword [esi], 2
mov dword [esi + 4], edx
mov dword [ebx], 2
mov dword [ebx + 4], 2
mov dword [ebp], 4
jmp case.default.0x41ea86
mov dword [esi], ecx
mov dword [esi + 4], ecx
jmp case.default.0x41ea86
mov eax, dword [edi + 0x14]
cmp eax, 4
ja case.default.0x41ea86
jmp dword [eax*4 + 0x41eca8]
mov dword [ebx], 2
mov dword [ebx + 4], 2
mov dword [esi + 4], edx
mov dword [esi], edx
mov dword [ebp], 4
jmp case.default.0x41ea86
mov dword [esi], 2
mov dword [esi + 4], edx
jmp case.default.0x41ea86
mov dword [esi], 2
mov dword [esi + 4], ecx
jmp case.default.0x41ea86
mov dword [esi], 3
mov dword [esi + 4], ecx
jmp case.default.0x41ea86
mov eax, dword [edi + 0x14]
cmp eax, 4
ja case.default.0x41ea86
jmp dword [eax*4 + 0x41ecbc]
mov dword [esi], ecx
jmp 0x41eb37
mov eax, dword [edi + 0x14]
cmp eax, 5
ja case.default.0x41ea86
jmp dword [eax*4 + 0x41ecd0]
mov dword [esi], edx
mov dword [esi + 4], ecx
jmp 0x41eb3a
mov dword [esi], 2
mov dword [esi + 4], 2
jmp case.default.0x41ea86
push 0x502d24
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor edx, edx
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
add dword [esi + 4], ecx
mov ebp, 1
add dword [edi + 0x14], ebp
mov ebx, dword [edi + 0x14]
add eax, eax
add eax, eax
cmp ebx, dword [eax + 0x52ce88]
jne 0x41ec28
mov dword [edi + 0x14], edx
mov edx, dword [eax + 0x52cea4]
add edx, ecx
mov dword [edi + 0xc], edx
mov dword [edi + 4], ebp
dec dword [edi + 8]
pop ebp
mov eax, esi
pop ebx
ret 8