Function at 0x487948
Capabilities:
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x4dd52c]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
or dword [edi + 0x10], 2
push 0x4139dc
mov dword [ebp - 4], eax
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x10c], esi
call ebx
movzx eax, byte [esi + 5]
push eax
movzx eax, byte [esi + 4]
push eax
lea eax, [ebp - 0x104]
push 0x413990
push eax
mov dword [ebp - 0x108], 4
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
lea edx, [esi + 5]
mov al, byte [edx]
inc al
cmp word [edi + 0x8fb6], 2
jne 0x487a07
movzx eax, al
mov ecx, eax
mov esi, edx
mov edx, ecx
shr ecx, 2
add edi, 0x8180
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x10c]
mov edi, dword [ebp - 0x110]
add eax, 5
lea esi, [ecx + eax + 1]
mov dword [ebp - 0x108], eax
mov al, byte [esi]
inc al
movzx ecx, al
add edi, 0x81e0
jmp 0x487a75
cmp word [edi + 0x8f56], 2
jne 0x487a8f
movzx eax, al
mov ecx, eax
mov esi, edx
mov edx, ecx
shr ecx, 2
add edi, 0x8180
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x10c]
mov edi, dword [ebp - 0x110]
add eax, 5
lea esi, [ecx + eax]
mov ecx, dword [esi + 2]
mov dword [ebp - 0x108], eax
mov al, byte [esi + 1]
mov dword [edi + 0x814c], ecx
mov ecx, dword [esi + 6]
mov dword [edi + 0x8150], ecx
inc al
mov cl, al
sub cl, 9
mov byte [edi + 0x81e0], cl
movzx ecx, al
sub ecx, 8
add esi, 0xa
add edi, 0x81e1
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x110]
mov esi, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x108]
movzx eax, al
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x108], eax
add eax, esi
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x413948
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
inc al
movzx eax, al
mov ecx, eax
mov edx, ecx
shr ecx, 2
add edi, 0x8360
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
lea eax, [ecx + eax + 1]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
add eax, ecx
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x4138f0
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
mov edi, dword [ebp - 0x110]
inc al
movzx eax, al
mov ecx, eax
mov edx, ecx
shr ecx, 2
add edi, 0x83c0
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
lea eax, [ecx + eax + 1]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
add eax, ecx
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x413898
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
inc al
movzx eax, al
mov ecx, eax
mov edi, dword [ebp - 0x110]
mov edx, ecx
shr ecx, 2
add edi, 0x8420
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
lea eax, [ecx + eax + 1]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
add eax, ecx
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x413840
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
mov edi, dword [ebp - 0x110]
inc al
movzx eax, al
mov ecx, eax
mov edx, ecx
shr ecx, 2
add edi, 0x8480
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
lea eax, [ecx + eax + 1]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
add eax, ecx
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x4137e8
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
mov edi, dword [ebp - 0x110]
inc al
movzx eax, al
mov ecx, eax
mov edx, ecx
shr ecx, 2
add edi, 0x84e0
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
lea eax, [ecx + eax + 1]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
add eax, ecx
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
push 0x413790
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
mov edi, dword [ebp - 0x110]
inc al
movzx eax, al
mov ecx, eax
mov edx, ecx
shr ecx, 2
add edi, 0x85a0
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
lea eax, [ecx + eax + 1]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
add eax, ecx
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x413790
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
mov edi, dword [ebp - 0x110]
inc al
movzx eax, al
mov ecx, eax
mov edx, ecx
shr ecx, 2
add edi, 0x8600
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
lea eax, [ecx + eax + 1]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
add eax, ecx
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x413740
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
mov edi, dword [ebp - 0x110]
inc al
movzx eax, al
mov ecx, eax
mov edx, ecx
shr ecx, 2
add edi, 0x8660
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
lea eax, [ecx + eax + 1]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
add eax, ecx
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x4136f0
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
mov edi, dword [ebp - 0x110]
inc al
movzx eax, al
mov ecx, eax
mov edx, ecx
shr ecx, 2
add edi, 0x8780
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
lea eax, [ecx + eax + 1]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
add eax, ecx
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x4136a0
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
mov edi, dword [ebp - 0x110]
inc al
movzx eax, al
mov ecx, eax
mov edx, ecx
shr ecx, 2
add edi, 0x87e0
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
lea esi, [ecx + eax + 1]
mov eax, dword [ebp - 0x10c]
lea edi, [eax + esi]
movzx eax, byte [edi + 1]
push eax
movzx eax, byte [edi]
push eax
lea eax, [ebp - 0x104]
push 0x4136a0
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [edi + 1]
mov edi, dword [ebp - 0x110]
inc esi
inc esi
cmp word [edi + 0x8f54], 1
mov byte [edi + 0x8960], al
mov dword [ebp - 0x108], esi
jne 0x487ffb
mov eax, dword [ebp - 0x10c]
add eax, esi
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x413650
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
inc al
movzx eax, al
mov ecx, eax
mov edx, ecx
shr ecx, 2
add edi, 0x8840
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
lea eax, [ecx + eax + 1]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
add eax, ecx
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x413650
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
mov edi, dword [ebp - 0x110]
inc al
movzx eax, al
mov ecx, eax
mov edx, ecx
shr ecx, 2
add edi, 0x88a0
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
lea eax, [ecx + eax + 1]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
add eax, ecx
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x413650
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
mov edi, dword [ebp - 0x110]
inc al
movzx eax, al
mov ecx, eax
add edi, 0x8900
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
mov edi, dword [ebp - 0x110]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x108], eax
mov esi, eax
mov eax, dword [ebp - 0x10c]
lea esi, [eax + esi + 1]
mov al, byte [esi]
inc al
movzx eax, al
mov ecx, eax
mov edx, ecx
shr ecx, 2
add edi, 0x8720
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
mov edi, dword [ebp - 0x110]
cmp word [edi + 0x8d40], 0
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x108], eax
jle 0x48810e
mov ecx, dword [ebp - 0x10c]
add eax, ecx
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x4136a0
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
inc al
movzx eax, al
mov ecx, eax
mov edx, ecx
shr ecx, 2
add edi, 0x8540
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
lea eax, [ecx + eax + 1]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
add eax, ecx
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x4136a0
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
mov edi, dword [ebp - 0x110]
inc al
movzx eax, al
mov ecx, eax
mov edx, ecx
shr ecx, 2
add edi, 0x86c0
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
mov edi, dword [ebp - 0x110]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x10c]
add eax, ecx
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x413990
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
inc al
movzx eax, al
mov ecx, eax
mov edx, ecx
shr ecx, 2
add edi, 0x8240
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
lea eax, [ecx + eax + 1]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
add eax, ecx
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x413990
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
mov edi, dword [ebp - 0x110]
inc al
movzx eax, al
mov ecx, eax
mov edx, ecx
shr ecx, 2
add edi, 0x82a0
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x108]
lea eax, [ecx + eax + 1]
mov ecx, dword [ebp - 0x10c]
add eax, ecx
lea esi, [eax + 1]
movzx ecx, byte [esi]
movzx eax, byte [eax]
push ecx
push eax
lea eax, [ebp - 0x104]
push 0x413990
push eax
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
call ebx
mov al, byte [esi]
mov edi, dword [ebp - 0x110]
inc al
movzx ecx, al
mov eax, ecx
add edi, 0x8300
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 4]
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
call fcn.004a9585
leave
ret 0xc