Function at 0x46d723
Capabilities:
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x326c
call fcn.004a98b0
mov eax, dword [0x4dd52c]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x326c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x3254], eax
xor eax, eax
push ebx
xor ebx, ebx
mov edx, 0x81
push esi
push edi
mov word [ebp - 0x1a2c], bx
mov ecx, edx
lea edi, [ebp - 0x1a2a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp - 0x1e3c], bx
mov ecx, edx
lea edi, [ebp - 0x1e3a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp - 0x1c34], bx
mov ecx, edx
lea edi, [ebp - 0x1c32]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
add edx, 0x7e
mov word [ebp - 0x424], bx
mov ecx, edx
lea edi, [ebp - 0x422]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov esi, dword [ebp + 8]
xor eax, eax
or dword [ebp - 0x3268], 0xffffffff
mov word [ebp - 0x824], bx
mov ecx, edx
lea edi, [ebp - 0x822]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp - 0x323c], bx
mov ecx, edx
lea edi, [ebp - 0x323a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov word [ebp - 0x1824], bx
xor eax, eax
test esi, esi
mov ecx, 0x3ff
lea edi, [ebp - 0x1822]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x3240], ebx
mov dword [ebp - 0x3258], ebx
mov dword [ebp - 0x325c], esi
mov dword [ebp - 0x3264], 1
stosw word es:[edi], ax
mov ebx, 0x800
je 0x46db90
cmp dword [esi + 0x1dfa8], 1
jne 0x46db90
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46d946
cmp eax, 3
jb 0x46d946
and word [ebp - 0x2e3c], 0
push dword [esi + 0x1a25c]
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x2e3a]
rep stosd dword es:[edi], eax
push 0x406568
stosw word es:[edi], ax
lea eax, [ebp - 0x2e3c]
push ebx
push eax
call fcn.00431bde
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x46db90
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46d946
cmp eax, 3
jb 0x46d946
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x3250]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1824]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2e3c]
push eax
movzx eax, word [ebp - 0x3242]
push 0x40f1ec
push eax
movzx eax, word [ebp - 0x3244]
push eax
movzx eax, word [ebp - 0x3246]
push eax
movzx eax, word [ebp - 0x3248]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1824]
push ebx
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1824]
push eax
jne 0x46d928
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x46d946
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x46db90
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46da6c
cmp eax, 3
jb 0x46da6c
and word [ebp - 0x2e3c], 0
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x2e3a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
movsx eax, word [esi + 0x36e]
push eax
push 0x40f1a0
lea eax, [ebp - 0x2e3c]
push ebx
push eax
call fcn.00431bde
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x46db90
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46da6c
cmp eax, 3
jb 0x46da6c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x3250]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1824]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2e3c]
push eax
movzx eax, word [ebp - 0x3242]
push 0x40f1ec
push eax
movzx eax, word [ebp - 0x3244]
push eax
movzx eax, word [ebp - 0x3246]
push eax
movzx eax, word [ebp - 0x3248]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1824]
push ebx
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1824]
push eax
jne 0x46da4e
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x46da6c
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x46db90
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46db90
cmp eax, 3
jb 0x46db90
and word [ebp - 0x2e3c], 0
push dword [esi + 0x1d89c]
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x2e3a]
rep stosd dword es:[edi], eax
push 0x40f16c
stosw word es:[edi], ax
lea eax, [ebp - 0x2e3c]
push ebx
push eax
call fcn.00431bde
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x46db90
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46db90
cmp eax, 3
jb 0x46db90
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x3250]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1824]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2e3c]
push eax
movzx eax, word [ebp - 0x3242]
push 0x40f1ec
push eax
movzx eax, word [ebp - 0x3244]
push eax
movzx eax, word [ebp - 0x3246]
push eax
movzx eax, word [ebp - 0x3248]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1824]
push ebx
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1824]
push eax
jne 0x46db72
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x46db90
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
xor edi, edi
inc edi
cmp dword [esi + 0x1a25c], edi
jne 0x46dbf4
cmp word [esi + 0x36e], 8
je 0x46dbad
cmp dword [esi + 0x1d89c], edi
jne 0x46dbf4
cmp dword [esi + 0x1dfa8], edi
mov dword [ebp - 0x3260], 2
jne 0x46dd10
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46dd10
cmp eax, 3
jb 0x46dd10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x3250]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x40f13c
jmp 0x46dc4e
push dword [esi + 0x19a18]
push dword [esi + 0x5010]
call fcn.0045c2f5
cmp eax, edi
mov dword [ebp - 0x3260], eax
jne 0x46dcbe
cmp dword [esi + 0x1dfa8], edi
jne 0x46dd10
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46dd10
cmp eax, 3
jb 0x46dd10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x3250]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x40f10c
xor eax, eax
lea edi, [ebp - 0x1824]
mov ecx, 0x400
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x3242]
push 0x40f1ec
push eax
movzx eax, word [ebp - 0x3244]
push eax
movzx eax, word [ebp - 0x3246]
push eax
movzx eax, word [ebp - 0x3248]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1824]
push ebx
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1824]
push eax
jne 0x46dcf2
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x46dd10
cmp dword [esi + 0x1dfa8], edi
jne 0x46dd10
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46dd10
cmp eax, 3
jb 0x46dd10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x3250]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x40f0d8
jmp 0x46dc4e
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
mov ebx, dword [sym.imp.msvcrt.dll_swprintf]
push 0x40c95c
lea eax, [esi + 0x19a24]
push eax
lea ecx, [esi + 0x19c2c]
push ecx
lea eax, [ebp - 0x1e3c]
push 0x40c25c
push eax
call ebx
add esp, 0x14
push 0x40c94c
push esi
call fcn.0045d0b4
test eax, eax
jne 0x46dd53
mov dword [ebp - 0x3258], 1
cmp dword [esi + 0x1dfa8], 1
jne 0x46de7f
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46de7f
cmp eax, 3
jb 0x46de7f
and word [ebp - 0x2e3c], 0
push dword [ebp - 0x3258]
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x2e3a]
rep stosd dword es:[edi], eax
push 0x40f0bc
stosw word es:[edi], ax
lea eax, [ebp - 0x2e3c]
push 0x800
push eax
call fcn.00431bde
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x46de7f
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46de7f
cmp eax, 3
jb 0x46de7f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x3250]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1824]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2e3c]
push eax
movzx eax, word [ebp - 0x3242]
push 0x40f1ec
push eax
movzx eax, word [ebp - 0x3244]
push eax
movzx eax, word [ebp - 0x3246]
push eax
movzx eax, word [ebp - 0x3248]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1824]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1824]
push eax
jne 0x46de61
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x46de7f
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp dword [ebp - 0x3258], 0
lea eax, [esi + 0x19a24]
mov edi, 0x40c93c
je 0x46de98
mov edi, 0x40c92c
push edi
push eax
lea eax, [ebp - 0x1c34]
push 0x40c920
push eax
call ebx
push edi
lea eax, [esi + 0x19a24]
push eax
lea eax, [esi + 0x19c2c]
push eax
lea eax, [ebp - 0x1a2c]
push 0x40c25c
push eax
call ebx
add esp, 0x24
cmp dword [esi + 0x1dfa8], 1
jne 0x46dff5
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46dff5
cmp eax, 3
jb 0x46dff5
and word [ebp - 0x2e3c], 0
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x2e3a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x1a2c]
push eax
push 0x40f08c
lea eax, [ebp - 0x2e3c]
push 0x800
push eax
call fcn.00431bde
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x46dff5
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46dff5
cmp eax, 3
jb 0x46dff5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x3250]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1824]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2e3c]
push eax
movzx eax, word [ebp - 0x3242]
push 0x40f1ec
push eax
movzx eax, word [ebp - 0x3244]
push eax
movzx eax, word [ebp - 0x3246]
push eax
movzx eax, word [ebp - 0x3248]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1824]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1824]
push eax
jne 0x46dfd7
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x46dff5
lea edi, [esi + 0x1dfa4]
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp dword [ebp - 0x3260], 1
je 0x46e12a
cmp dword [ebp - 0x3260], 2
je 0x46e12a
cmp dword [esi + 0x1dfa8], 1
jne 0x46e0dd
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46e0dd
cmp eax, 3
jb 0x46e0dd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x3250]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
push 0x40f058
mov ecx, 0x400
lea edi, [ebp - 0x1824]
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x3242]
push 0x40f1ec
push eax
movzx eax, word [ebp - 0x3244]
push eax
movzx eax, word [ebp - 0x3246]
push eax
movzx eax, word [ebp - 0x3248]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1824]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1824]
push eax
jne 0x46e0bf
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x46e0dd
add esi, 0x1dfa4
push 0x4060a8
push dword [esi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [esi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
lea eax, [ebp - 0x1a2c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x46e115
push 0x40f044
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x46e10e
push dword [ebp - 0x3254]
call eax
mov dword [ebp - 0x3264], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x3264]
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.004a9585
leave
ret 0xc
mov edi, dword [ebp - 0x3254]
and dword [ebp - 0x3258], 0
cmp word [edi], 1
mov esi, dword [sym.imp.msvcrt.dll_wcscat]
jne 0x46e2dd
lea eax, [edi + 2]
push eax
push 0x40f030
lea eax, [ebp - 0x824]
push 0x40cc3c
push eax
mov dword [ebp - 0x3258], 1
call ebx
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
lea eax, [edi + 0x106]
push eax
push 0x40f01c
lea eax, [ebp - 0x824]
push 0x40cc3c
push eax
call ebx
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
push dword [edi + 0x148]
lea eax, [ebp - 0x824]
push 0x40f000
push 0x40eff4
push eax
call ebx
add esp, 0x48
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
push dword [edi + 0x14c]
lea eax, [ebp - 0x824]
push 0x40efd8
push 0x40eff4
push eax
call ebx
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
movzx eax, word [edi + 0x150]
push eax
push 0x40efbc
lea eax, [ebp - 0x824]
push 0x40eff4
push eax
call ebx
add esp, 0x40
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
lea eax, [edi + 0x152]
push eax
push 0x40ef98
push 0x40cc3c
lea eax, [ebp - 0x824]
push eax
call ebx
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
lea eax, [edi + 0x17c]
push eax
push 0x40ef74
lea eax, [ebp - 0x824]
push 0x40cc3c
push eax
call ebx
add esp, 0x40
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
add esp, 0x10
mov dword [ebp - 0x3240], 1
cmp word [edi + 0x1a6], 1
jne 0x46e429
or dword [ebp - 0x3258], 2
lea eax, [edi + 0x1a8]
push eax
push 0x40ef64
lea eax, [ebp - 0x824]
push 0x40cc3c
push eax
call ebx
add esp, 0x10
cmp dword [ebp - 0x3240], 1
jne 0x46e328
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
pop ecx
pop ecx
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
push dword [edi + 0x2ac]
lea eax, [ebp - 0x824]
push 0x40ef54
push 0x40eff4
push eax
call ebx
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
push dword [edi + 0x2b0]
lea eax, [ebp - 0x824]
push 0x40ef44
push 0x40eff4
push eax
call ebx
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
add esp, 0x40
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
movzx eax, word [edi + 0x2b4]
push eax
push 0x40ef34
lea eax, [ebp - 0x824]
push 0x40eff4
push eax
call ebx
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
lea eax, [edi + 0x2b6]
push eax
push 0x40ef1c
lea eax, [ebp - 0x824]
push 0x40cc3c
push eax
call ebx
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
add esp, 0x40
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
pop ecx
pop ecx
mov dword [ebp - 0x3240], 1
cmp word [edi + 0x1a6], 2
jne 0x46e5e0
and word [ebp - 0x24], 0
or dword [ebp - 0x3258], 8
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0x22]
rep stosd dword es:[edi], eax
push 0x10
stosw word es:[edi], ax
lea eax, [ebp - 0x24]
push eax
push 2
push 0xe1
push dword [ebp - 0x325c]
call fcn.004a5f06
test eax, eax
je 0x46e496
lea eax, [ebp - 0x24]
push 0x40e9a0
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x46e496
mov eax, dword [ebp - 0x3254]
or dword [ebp - 0x3258], 0x10
mov word [eax + 0x1a6], 3
mov eax, dword [ebp - 0x3254]
add eax, 0x1a8
push eax
push 0x40ef64
lea eax, [ebp - 0x824]
push 0x40cc3c
push eax
call ebx
add esp, 0x10
cmp dword [ebp - 0x3240], 1
mov edi, 0x40c254
jne 0x46e4d2
lea eax, [ebp - 0x424]
push edi
push eax
call esi
pop ecx
pop ecx
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
mov eax, dword [ebp - 0x3254]
push dword [eax + 0x2ac]
lea eax, [ebp - 0x824]
push 0x40ef54
push 0x40eff4
push eax
call ebx
lea eax, [ebp - 0x424]
push edi
push eax
call esi
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
mov eax, dword [ebp - 0x3254]
push dword [eax + 0x2b0]
lea eax, [ebp - 0x824]
push 0x40ef44
push 0x40eff4
push eax
call ebx
lea eax, [ebp - 0x424]
push edi
push eax
call esi
add esp, 0x40
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
mov eax, dword [ebp - 0x3254]
movzx eax, word [eax + 0x2b4]
push eax
push 0x40ef34
lea eax, [ebp - 0x824]
push 0x40eff4
push eax
call ebx
lea eax, [ebp - 0x424]
push edi
push eax
call esi
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
mov eax, dword [ebp - 0x3254]
add eax, 0x2b6
push eax
push 0x40ef1c
lea eax, [ebp - 0x824]
push 0x40cc3c
push eax
call ebx
lea eax, [ebp - 0x424]
push edi
push eax
call esi
add esp, 0x40
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
mov edi, dword [ebp - 0x3254]
pop ecx
pop ecx
mov dword [ebp - 0x3240], 1
cmp word [edi + 0x2e0], 1
jne 0x46e79f
or dword [ebp - 0x3258], 4
lea eax, [edi + 0x2e2]
push eax
push 0x40ef04
lea eax, [ebp - 0x824]
push 0x40cc3c
push eax
call ebx
add esp, 0x10
cmp dword [ebp - 0x3240], 1
jne 0x46e62b
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
pop ecx
pop ecx
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
lea eax, [edi + 0x3e6]
push eax
push 0x40eeec
lea eax, [ebp - 0x824]
push 0x40cc3c
push eax
call ebx
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
push dword [edi + 0x428]
lea eax, [ebp - 0x824]
push 0x40eecc
push 0x40eff4
push eax
call ebx
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
add esp, 0x40
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
push dword [edi + 0x42c]
lea eax, [ebp - 0x824]
push 0x40eeac
push 0x40eff4
push eax
call ebx
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
movzx eax, word [edi + 0x430]
push eax
push 0x40ee8c
lea eax, [ebp - 0x824]
push 0x40eff4
push eax
call ebx
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
add esp, 0x40
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
lea eax, [edi + 0x432]
push eax
push 0x40ee64
lea eax, [ebp - 0x824]
push 0x40cc3c
push eax
call ebx
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
lea eax, [edi + 0x45c]
push eax
push 0x40ee3c
lea eax, [ebp - 0x824]
push 0x40cc3c
push eax
call ebx
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
add esp, 0x40
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
pop ecx
pop ecx
mov dword [ebp - 0x3240], 1
cmp word [edi], 1
je 0x46e7cc
mov ax, word [edi + 0x1a6]
cmp ax, 1
je 0x46e7cc
cmp ax, 2
je 0x46e7cc
cmp ax, 3
je 0x46e7cc
cmp word [edi + 0x2e0], 1
jne 0x46e855
push dword [edi + 0x486]
lea eax, [ebp - 0x824]
push 0x40ee2c
push 0x40eff4
push eax
call ebx
add esp, 0x10
cmp dword [ebp - 0x3240], 1
jne 0x46e801
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
pop ecx
pop ecx
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
push dword [ebp - 0x3258]
lea eax, [ebp - 0x824]
push 0x40ee18
push 0x40eff4
push eax
call ebx
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
add esp, 0x28
mov dword [ebp - 0x3240], 1
cmp dword [ebp - 0x3260], 1
jne 0x46ea82
mov eax, dword [ebp - 0x325c]
cmp dword [eax + 0x1dfa8], 1
jne 0x46e943
mov eax, dword [eax + 0x1dfac]
test eax, eax
je 0x46e943
cmp eax, 3
jb 0x46e943
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x3250]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
push 0x40ede8
mov ecx, 0x400
lea edi, [ebp - 0x1824]
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x3242]
push 0x40f1ec
push eax
movzx eax, word [ebp - 0x3244]
push eax
movzx eax, word [ebp - 0x3246]
push eax
movzx eax, word [ebp - 0x3248]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1824]
push 0x800
push eax
call fcn.00431bde
mov eax, dword [ebp - 0x325c]
add esp, 0x2c
cmp word [eax + 0x1dfa0], 1
jne 0x46e91e
lea eax, [ebp - 0x1824]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x46e943
lea esi, [eax + 0x1dfa4]
lea eax, [ebp - 0x1824]
push eax
push 0x4060a8
push dword [esi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [esi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
lea eax, [ebp - 0x1e3c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
mov dword [ebp - 0x3260], eax
je 0x46e115
push 0x40c810
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, dword [ebp - 0x325c]
cmp dword [esi + 0x1dfa8], 1
mov ebx, eax
jne 0x46ea40
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46ea40
cmp eax, 3
jb 0x46ea40
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x3250]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
push 0x40eda0
mov ecx, 0x400
lea edi, [ebp - 0x1824]
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x3242]
push 0x40f1ec
push eax
movzx eax, word [ebp - 0x3244]
push eax
movzx eax, word [ebp - 0x3246]
push eax
movzx eax, word [ebp - 0x3248]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1824]
push 0x800
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1824]
push eax
jne 0x46ea22
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x46ea40
add esi, 0x1dfa4
push 0x4060a8
push dword [esi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [esi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
test ebx, ebx
je 0x46ea71
push 0x200
lea eax, [ebp - 0x323c]
push eax
lea eax, [ebp - 0x424]
push eax
push 0x40ed68
lea eax, [ebp - 0x1c34]
push eax
push dword [ebp - 0x326c]
call ebx
mov dword [ebp - 0x3268], eax
push dword [ebp - 0x3260]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x46ed01
cmp dword [ebp - 0x3260], 2
jne 0x46e115
mov eax, dword [ebp - 0x325c]
cmp dword [eax + 0x1dfa8], 1
jne 0x46eb6f
mov eax, dword [eax + 0x1dfac]
test eax, eax
je 0x46eb6f
cmp eax, 3
jb 0x46eb6f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x3250]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
push 0x40ed38
mov ecx, 0x400
lea edi, [ebp - 0x1824]
rep stosd dword es:[edi], eax
movzx eax, word [ebp - 0x3242]
push 0x40f1ec
push eax
movzx eax, word [ebp - 0x3244]
push eax
movzx eax, word [ebp - 0x3246]
push eax
movzx eax, word [ebp - 0x3248]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1824]
push 0x800
push eax
call fcn.00431bde
mov eax, dword [ebp - 0x325c]
add esp, 0x2c
cmp word [eax + 0x1dfa0], 1
lea eax, [ebp - 0x1824]
push eax
jne 0x46eb4b
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x46eb6f
mov edi, dword [ebp - 0x325c]
add edi, 0x1dfa4
push 0x4060a8
push dword [edi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [edi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
lea eax, [ebp - 0x824]
push 0x40ed1c
push eax
call ebx
cmp dword [ebp - 0x3240], 1
pop ecx
pop ecx
jne 0x46eb98
lea eax, [ebp - 0x424]
push 0x40c254
push eax
call esi
pop ecx
pop ecx
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
mov esi, dword [ebp - 0x325c]
pop ecx
pop ecx
push 0x200
lea eax, [ebp - 0x323c]
push eax
lea eax, [ebp - 0x424]
push eax
lea eax, [esi + 0x19a24]
push eax
push esi
call fcn.004602a7
cmp dword [esi + 0x1dfa8], 1
mov dword [ebp - 0x3268], eax
jne 0x46ed01
mov eax, esi
mov eax, dword [eax + 0x1dfac]
test eax, eax
je 0x46ed01
cmp eax, 3
jb 0x46ed01
and word [ebp - 0x2e3c], 0
push dword [ebp - 0x3268]
xor eax, eax
mov ecx, 0x3ff
lea edi, [ebp - 0x2e3a]
rep stosd dword es:[edi], eax
push 0x40ecf8
stosw word es:[edi], ax
mov ebx, 0x800
lea eax, [ebp - 0x2e3c]
push ebx
push eax
call fcn.00431bde
add esp, 0x10
cmp dword [esi + 0x1dfa8], 1
jne 0x46ed01
mov eax, dword [esi + 0x1dfac]
test eax, eax
je 0x46ed01
cmp eax, 3
jb 0x46ed01
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea eax, [ebp - 0x3250]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov ecx, 0x400
lea edi, [ebp - 0x1824]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x2e3c]
push eax
movzx eax, word [ebp - 0x3242]
push 0x40f1ec
push eax
movzx eax, word [ebp - 0x3244]
push eax
movzx eax, word [ebp - 0x3246]
push eax
movzx eax, word [ebp - 0x3248]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x4065a0
lea eax, [ebp - 0x1824]
push ebx
push eax
call fcn.00431bde
add esp, 0x2c
cmp word [esi + 0x1dfa0], 1
lea eax, [ebp - 0x1824]
push eax
jne 0x46ece3
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x46ed01
add esi, 0x1dfa4
push 0x4060a8
push dword [esi]
call dword [sym.imp.msvcrt.dll_fwprintf]
push dword [esi]
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 0x10
cmp dword [ebp - 0x3268], 0
jne 0x46e115
lea eax, [ebp - 0x323c]
push 0x40c254
push eax
call dword [sym.imp.msvcrt.dll_wcstok]
mov edi, dword [sym.imp.msvcrt.dll_wcsncpy]
mov esi, dword [sym.imp.msvcrt.dll_wcscmp]
pop ecx
pop ecx
mov dword [ebp - 0x3240], eax
push 0x40c258
push dword [ebp - 0x3240]
call dword [sym.imp.msvcrt.dll_wcsstr]
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
je 0x46ee7d
and word [ebx], 0
push 0x40ecdc
push dword [ebp - 0x3240]
inc ebx
inc ebx
call esi
test eax, eax
pop ecx
pop ecx
jne 0x46eda4
push 0x40c7b8
push ebx
call esi
test eax, eax
pop ecx
pop ecx
jne 0x46ed87
mov dword [ebp - 0x3264], 1
jmp 0x46ee5b
push 0x40c7a4
push ebx
call esi
test eax, eax
pop ecx
pop ecx
jne 0x46ee5b
and dword [ebp - 0x3264], eax
jmp 0x46ee5b
push 0x40f030
push dword [ebp - 0x3240]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x46edca
mov eax, dword [ebp - 0x3254]
push 0x81
add eax, 2
jmp 0x46ee54
push 0x40f01c
push dword [ebp - 0x3240]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x46edea
mov eax, dword [ebp - 0x3254]
add eax, 0x106
jmp 0x46ee52
push 0x40ef64
push dword [ebp - 0x3240]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x46ee0f
mov eax, dword [ebp - 0x3254]
push 0x81
add eax, 0x1a8
jmp 0x46ee54
push 0x40ef04
push dword [ebp - 0x3240]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x46ee34
mov eax, dword [ebp - 0x3254]
push 0x81
add eax, 0x2e2
jmp 0x46ee54
push 0x40eeec
push dword [ebp - 0x3240]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x46ee5b
mov eax, dword [ebp - 0x3254]
add eax, 0x3e6
push 0x20
push ebx
push eax
call edi
add esp, 0xc
push 0x40c254
push 0
call dword [sym.imp.msvcrt.dll_wcstok]
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x3240], eax
jne 0x46ed34
jmp 0x46e115
xor eax, eax
jmp 0x46e11b