Function at 0x48edab
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4fd8e1
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x5466b0]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov ebx, ecx
mov esi, dword [ebp + 0xc]
xor edi, edi
cmp esi, edi
jne 0x48ede9
xor eax, eax
jmp 0x48f28c
mov eax, dword [ebp + 8]
xor ecx, ecx
push 2
inc ecx
pop edx
mov dword [esp + 0x18], ecx
cmp eax, edx
jne 0x48ee3d
cmp dword [ebp + 0x10], edi
jbe 0x48f288
cmp dword [ebx + 4], edi
je 0x48f288
mov ecx, dword [esi + 4]
lea edx, [esp + 0x14]
call fcn.004310b0
mov dword [esp + 0x30], edi
mov eax, dword [eax]
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
push eax
call dword [edx + 0x2c]
mov esi, dword [ebp + 0x14]
call fcn.00429e20
lea eax, [esp + 0x14]
call fcn.0042afc0
jmp 0x48f288
cmp eax, 4
jne 0x48eece
cmp dword [ebp + 0x10], edi
jbe 0x48f288
cmp dword [ebx + 4], edi
je 0x48f288
mov ecx, dword [esi + 4]
lea edx, [esp + 0x14]
call fcn.004310b0
push dword [ebp + 0x14]
xor edi, edi
inc edi
mov dword [esp + 0x34], edi
mov eax, dword [eax]
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
push eax
call dword [edx + 0x14]
or dword [esp + 0x30], 0xffffffff
lea eax, [esp + 0x14]
call fcn.0042afc0
cmp dword [ebp + 0x10], edi
jbe 0x48f288
mov edi, dword [ebp + 0x10]
add esi, 0x10
dec edi
mov ecx, dword [esi]
lea edx, [esp + 0x14]
call fcn.004310b0
mov dword [esp + 0x30], 2
mov eax, dword [eax]
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
push eax
call dword [edx + 0x18]
or dword [esp + 0x30], 0xffffffff
lea eax, [esp + 0x14]
call fcn.0042afc0
add esi, 0xc
dec edi
jne 0x48ee97
jmp 0x48f288
cmp eax, 3
jne 0x48ef4b
cmp dword [ebp + 0x10], edx
jb 0x48f288
cmp dword [ebx + 4], edi
je 0x48f288
mov ecx, dword [esi + 4]
lea edx, [esp + 0x14]
call fcn.004310b0
mov dword [esp + 0x30], 3
mov eax, dword [eax]
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
add esi, 0xc
push esi
push eax
call dword [edx + 0x20]
mov esi, eax
lea eax, [esp + 0x14]
call fcn.0042afc0
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
mov dword [esp + 0x24], eax
pop ecx
cmp esi, edi
je 0x48ef41
mov dword [esp + 0x30], 4
cmp eax, edi
je 0x48f263
push edi
push 1
jmp 0x48efc2
mov dword [esp + 0x30], 5
jmp 0x48efb8
cmp eax, 8
jne 0x48efcc
cmp dword [ebp + 0x10], edx
jb 0x48f288
cmp dword [ebx + 4], edi
je 0x48f288
mov ecx, dword [esi + 4]
lea edx, [esp + 0x14]
call fcn.004310b0
mov dword [esp + 0x30], 6
mov eax, dword [eax]
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
add esi, 0xc
push esi
push eax
call dword [edx + 0x38]
mov esi, eax
lea eax, [esp + 0x14]
call fcn.0042afc0
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
mov dword [esp + 0x24], eax
pop ecx
cmp esi, edi
je 0x48efb0
mov dword [esp + 0x30], 7
jmp 0x48ef31
mov dword [esp + 0x30], 8
cmp eax, edi
je 0x48f263
push edi
push edi
call fcn.00431050
jmp 0x48f265
cmp eax, 5
jne 0x48f0b0
cmp dword [ebp + 0x10], ecx
jb 0x48f288
cmp dword [ebx + 4], edi
je 0x48f288
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
cmp eax, edi
je 0x48effd
mov dword [eax], edi
jmp 0x48efff
xor eax, eax
mov ecx, dword [ebp + 0x14]
push eax
call fcn.0040ed50
mov eax, dword [ebp + 0x14]
cmp dword [eax + 4], edi
je 0x48f288
mov ecx, dword [esi + 4]
lea edx, [esp + 0x14]
call fcn.004310b0
mov dword [esp + 0x30], 9
mov eax, dword [eax]
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
push eax
call dword [edx + 0x2c]
or dword [esp + 0x30], 0xffffffff
mov esi, eax
lea eax, [esp + 0x14]
call fcn.0042afc0
mov eax, dword [esi + 4]
cmp eax, edi
je 0x48f09b
mov eax, dword [eax]
dec eax
je 0x48f08e
dec eax
je 0x48f087
dec eax
je 0x48f080
dec eax
je 0x48f079
dec eax
je 0x48f072
dec eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
je 0x48f06b
mov ebx, str.empty
jmp 0x48f0a6
mov ebx, str.stream
jmp 0x48f0a6
mov ebx, 0x51c65c
jmp 0x48f093
mov ebx, str.double
jmp 0x48f093
mov ebx, 0x51dcd0
jmp 0x48f093
mov ebx, 0x51dcc0
jmp 0x48f093
mov ebx, str.string
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
jmp 0x48f0a6
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov ebx, 0x51c75c
call fcn.0046010d
jmp 0x48f288
cmp eax, 0xa
jne 0x48f143
cmp dword [ebp + 0x10], ecx
jb 0x48f288
cmp dword [ebx + 4], edi
je 0x48f288
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
cmp eax, edi
je 0x48f0e1
mov dword [eax], edi
jmp 0x48f0e3
xor eax, eax
mov ebx, dword [ebp + 0x14]
push eax
mov ecx, ebx
call fcn.0040ed50
mov eax, dword [ebx + 4]
cmp eax, edi
je 0x48f288
mov esi, dword [esi + 4]
cmp esi, edi
je 0x48f0a1
mov esi, dword [esi]
dec esi
je 0x48f139
dec esi
je 0x48f12f
dec esi
je 0x48f125
dec esi
je 0x48f11e
dec esi
je 0x48f117
dec esi
jmp 0x48f062
mov ebx, 0x51c65c
jmp 0x48f0a6
mov ebx, str.double
jmp 0x48f0a6
mov ebx, 0x51dcd0
jmp 0x48f0a6
mov ebx, 0x51dcc0
jmp 0x48f0a6
mov ebx, str.string
jmp 0x48f0a6
cmp eax, 6
jne 0x48f165
cmp dword [ebp + 0x10], ecx
jb 0x48f288
mov ecx, dword [esi + 4]
call fcn.0040c5b0
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x48f288
cmp eax, 7
jne 0x48f18e
cmp dword [ebx + 4], edi
je 0x48f288
mov ecx, dword [esi + 4]
mov eax, dword [ebx + 4]
mov esi, dword [eax]
add esi, 0x34
call fcn.0040c5b0
mov ecx, dword [ebx + 4]
push eax
call dword [esi]
jmp 0x48f288
cmp eax, 9
jne 0x48f1c8
cmp dword [ebp + 0x10], edi
jbe 0x48f288
mov edi, dword [ebp + 0x10]
lea eax, [esp + 0x14]
push esi
push eax
call fcn.0046405d
pop ecx
pop ecx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [esp + 0x14]
call fcn.004087f0
add esi, 0xc
dec edi
jne 0x48f19f
jmp 0x48f288
cmp eax, 0xb
jne 0x48f275
or ebx, 0xffffffff
cmp dword [ebp + 0x10], edx
jb 0x48f23a
cmp dword [ebp + 0x10], 3
mov dword [esp + 0x14], edi
jb 0x48f1ef
mov ecx, dword [esi + 0x1c]
call fcn.0040c5f0
mov dword [esp + 0x14], eax
lea eax, [esi + 0xc]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.0046405d
mov ebx, eax
lea eax, [esp + 0x24]
push esi
push eax
mov dword [esp + 0x40], 0xa
call fcn.0046405d
mov ebx, dword [ebx]
mov eax, dword [eax]
add esp, 0x10
push dword [esp + 0x14]
push ebx
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [esp + 0x1c]
mov ebx, eax
call fcn.004087f0
lea ecx, [esp + 0x20]
call fcn.004087f0
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x30], 0xb
cmp ecx, edi
je 0x48f263
mov eax, ebx
call fcn.0040c000
jmp 0x48f265
xor eax, eax
mov ecx, dword [ebp + 0x14]
or dword [esp + 0x30], 0xffffffff
push eax
call fcn.0040ed50
jmp 0x48f288
push dword [ebp + 0x14]
mov ecx, ebx
push dword [ebp + 0x10]
push esi
push eax
call fcn.0046626b
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10