Function at 0x461856
Capabilities:
Print debug messages

Disassembly:
mov eax, dword fs:[0]
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4621a7
push eax
mov dword fs:[0], esp
mov eax, dword [ebp + 8]
sub esp, 0x720
mov dword [ebp - 0x10], ecx
push ebx
push esi
push edi
push eax
call fcn.00420480
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0x300]
cmp ecx, 0x10
jne 0x4618ad
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 0x328]
sub eax, 0x3e0
cmp eax, 1
sbb eax, eax
and eax, 0xfffffff6
add eax, 0x235
mov dword [ebp - 0x14], eax
jmp 0x4618b4
mov dword [ebp - 0x14], 8
push 0x28
call fcn.0045b6b0
mov dword [ebp - 0x3a4], eax
add esp, 4
mov dword [ebp - 4], 0
mov esi, eax
mov eax, 0
test esi, esi
je 0x4618dd
mov ecx, esi
call fcn.004405b0
mov edx, dword [ebp - 0x10]
xor ebx, ebx
mov dword [ebp - 4], 0xffffffff
mov dword [edx + 0x34], eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x3a4], 0x4e1358
mov dword [ebp - 0x4a8], 3
lea eax, [ebp - 0x21c]
lea ecx, [ebx + 0x1388]
push eax
lea edi, [ebp - 0x21c]
push ecx
mov ecx, dword [0x4e2fdc]
call fcn.004733a0
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
shr ecx, 2
mov esi, edi
mov edi, dword [ebp - 0x3a4]
inc ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add dword [ebp - 0x3a4], 0x10
dec dword [ebp - 0x4a8]
jne 0x461903
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0xc
jl 0x4618f9
mov ecx, dword [ebp - 0x10]
call fcn.00462460
lea eax, [ebp - 0x21c]
mov ecx, dword [0x4e2fdc]
push eax
mov ebx, 0x10
push 0xfed
call fcn.004733a0
test eax, eax
je 0x46199a
lea eax, [ebp - 0x21c]
push eax
call fcn.004bd9d0
add esp, 4
mov ebx, eax
lea eax, [ebp - 0x21c]
mov ecx, dword [0x4e2fdc]
push eax
push 0xff2
call fcn.004733a0
test eax, eax
je 0x4619bd
lea edi, [ebp - 0x21c]
jmp 0x4619c2
mov edi, str.Impact
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
shr ecx, 2
mov esi, edi
lea edi, [ebp - 0x3a0]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x21c]
mov ecx, dword [0x4e2fdc]
push eax
push 0x13d5
call fcn.004733a0
test eax, eax
je 0x461a18
lea eax, [ebp - 0x21c]
push eax
call fcn.004bd9d0
add esp, 4
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x80], eax
push 0x2fc
call fcn.0045b6b0
mov dword [ebp - 0x18], eax
add esp, 4
mov dword [ebp - 4], 1
mov esi, eax
mov eax, 0
test esi, esi
je 0x461a43
push 1
mov ecx, esi
call fcn.0048e1b0
mov edx, dword [ebp - 0x10]
push 0x464be0
mov dword [ebp - 4], 0xffffffff
push str.uicursor.tga
mov dword [edx + 0x30], eax
mov ecx, dword [0x4e2fdc]
push ebx
lea edx, [ebp - 0x3a0]
mov ebx, dword [ebp - 0x10]
mov edi, dword [ecx + 4]
push edx
mov ecx, dword [ebx + 0x38]
push ecx
mov edx, dword [edi + 0x20]
push 0
mov ebx, dword [edi + 0x24]
push 0
mov edi, dword [ebp - 0x10]
push edx
push ebx
mov ecx, dword [edi + 0x1c]
push ecx
mov ecx, eax
call fcn.0048e420
push eax
mov ecx, dword [ebp - 0x10]
call fcn.004203b0
cmp eax, 1
sbb eax, eax
neg eax
test eax, eax
je 0x461abf
mov edx, dword [ebp - 0x10]
mov ecx, edx
mov eax, dword [edx]
call dword [eax + 8]
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.uiwait.tga
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x30]
call fcn.0048eb90
push str.global.dat
lea eax, [ebp - 0x320]
push 0x4dffbc
push 0x4df954
push eax
call fcn.004bd200
add esp, 0x10
lea eax, [ebp - 0x21c]
lea ecx, [ebp - 0x320]
nop
push eax
push ecx
mov ecx, dword [0x4e2fdc]
add ecx, 0x624
call fcn.00429340
test eax, eax
je 0x461aaa
push str.UICompilerglobal.dg
lea eax, [ebp - 0x21c]
push eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x30]
call fcn.0048e9b0
lea ecx, [ebp - 0x21c]
mov ebx, 0x14
push ecx
push 0xfec
mov ecx, dword [0x4e2fdc]
call fcn.004733a0
test eax, eax
je 0x461b59
lea eax, [ebp - 0x21c]
push eax
call fcn.004bd9d0
add esp, 4
mov ebx, eax
lea eax, [ebp - 0x21c]
mov ecx, dword [0x4e2fdc]
push eax
push 0xff1
call fcn.004733a0
test eax, eax
je 0x461b7c
lea edi, [ebp - 0x21c]
jmp 0x461b81
mov edi, str.Impact
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
shr ecx, 2
mov esi, edi
lea edi, [ebp - 0x3a0]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x3a0]
push eax
push 2
push 0
push 0
push 0
push 1
push 0
push 0
push 0
mov esi, dword [sym.imp.GDI32.dll_CreateFontA]
push 0x190
push 0
push 0
push 0
push ebx
call esi
mov edx, dword [ebp - 0x10]
push str.Arial
push 2
push 0
push 0
mov dword [edx + 0x7c], eax
push 0
push 1
push 0
push 0
push 0
push 0x190
push 0
push 0
push 0
push 0xfffffffffffffff5
call esi
mov edx, dword [ebp - 0x10]
push str.uifx.cmp
push str.maps
push 0x4df954
mov dword [edx + 0x84], eax
lea eax, [ebp - 0x320]
push eax
call fcn.004bd200
add esp, 0x10
lea ecx, [ebp - 0x6ac]
push ecx
lea edx, [ebp - 0x320]
mov ecx, dword [0x4e2fdc]
push edx
add ecx, 0x624
call fcn.00429340
test eax, eax
je 0x461aaa
lea eax, [ebp - 0x6ac]
mov ecx, dword [0x4e3668]
push eax
call fcn.0045b900
push str.uifx.tex
lea eax, [ebp - 0x320]
push str.maps
push 0x4df954
push eax
call fcn.004bd200
add esp, 0x10
lea eax, [ebp - 0x6ac]
lea ecx, [ebp - 0x320]
nop
push eax
push ecx
mov ecx, dword [0x4e2fdc]
add ecx, 0x624
call fcn.00429340
test eax, eax
je 0x461aaa
lea eax, [ebp - 0x6ac]
mov ecx, dword [0x4e3668]
push eax
xor ebx, ebx
mov edi, str.layer3.tga
call fcn.0045b900
mov esi, dword [ebp - 0x10]
add esi, 0xb4
push 0xff00ff
mov eax, dword [ebp - 0x14]
push pe_nt_image_headers32
mov edx, dword [ebp - 0x10]
push 0
push 1
push 2
mov ecx, dword [edx + 0x34]
push 4
push 0
push eax
push edi
push ecx
call fcn.00440ac0
add esp, 0x28
mov ecx, eax
mov dword [esi], eax
test ecx, ecx
jne 0x461d15
push ebx
lea eax, [ebp - 0x94]
push str.Cant_load_uifx__d_n
push eax
call fcn.004bd200
add esp, 0xc
lea eax, [ebp - 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x461d1f
push 0xff00ff
call fcn.00442500
add edi, 0x80
add esi, 4
inc ebx
cmp edi, 0x4e4518
jb 0x461cc1
push str.uiuilst.ini
mov eax, dword [0x4e2fdc]
push 0x10
add eax, 0x624
push eax
push 0x4df418
push str.UserProfileName
push 0x4e1644
call fcn.004703a0
add esp, 0x18
mov ecx, dword [0x4e2fdc]
add ecx, 0x624
call fcn.00428c50
mov esi, eax
mov edx, dword [0x4e2fdc]
mov ebx, dword [ebp - 0x10]
xor edi, edi
mov ecx, dword [edx + 0x6f8]
mov eax, dword [ebx + 0x30]
mov dword [eax + 0x1f4], ecx
xor ecx, ecx
mov edx, dword [0x4e2fdc]
mov eax, dword [edx + 0x318]
test eax, eax
je 0x461dab
mov edx, dword [eax + 8]
cmp edx, ecx
je 0x461dab
mov ecx, 1
mov dword [ebx + 0xe4], edi
test ecx, ecx
jne 0x461df0
push 0x64
mov ecx, dword [ebp - 0x10]
call fcn.00462b40
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0x12c8]
mov eax, dword [ecx + 4]
cmp eax, 1
jge 0x461dd3
push 0xbba
jmp 0x461de8
test esi, esi
jne 0x461df0
cmp eax, 1
jge 0x461de3
push 0xbba
jmp 0x461de8
push 0xde
mov ecx, dword [ebp - 0x10]
call fcn.00462b40
push 0x1c
call fcn.0045b6b0
mov dword [ebp - 0x18], eax
add esp, 4
mov dword [ebp - 4], 2
mov esi, eax
mov eax, 0
test esi, esi
je 0x461e16
mov ecx, esi
call fcn.00401b30
mov edx, dword [ebp - 0x10]
push 0xff00ff
mov dword [ebp - 4], 0xffffffff
push pe_nt_image_headers32
mov dword [edx + 0xc4], eax
push 0
mov eax, dword [ebp - 0x14]
push 1
mov ecx, dword [edx + 0x34]
push 2
push 4
push 0
push eax
push str.bmenu.tga
push ecx
call fcn.00440ac0
add esp, 0x28
mov edx, dword [ebp - 0x10]
push 0xff00ff
mov dword [edx + 0xcc], eax
push pe_nt_image_headers32
mov ecx, dword [ebp - 0x14]
push 0
push 1
push 2
mov eax, dword [edx + 0x34]
push 4
push 0
push ecx
push str.bover.tga
push eax
call fcn.00440ac0
add esp, 0x28
mov edx, dword [ebp - 0x10]
mov ecx, eax
test ecx, ecx
mov dword [edx + 0xd0], eax
je 0x461e9a
push 0xff00ff
call fcn.00442500
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0xe4]
test eax, eax
je 0x4620af
mov ecx, edx
call fcn.00464a40
test eax, eax
je 0x461aaa
push str.ui_video
lea eax, [ebp - 0x320]
push str._smslogo.avi
push eax
call fcn.004bd200
add esp, 0xc
lea eax, [ebp - 0x4a4]
lea ecx, [ebp - 0x320]
nop
push eax
push ecx
mov ecx, dword [0x4e2fdc]
add ecx, 0x624
call fcn.00429340
test eax, eax
jne 0x461f0b
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0xe50]
cmp ecx, 2
jne 0x461aaa
push str.ui_video
lea eax, [ebp - 0x320]
push str._s_rainbow.avi
push eax
call fcn.004bd200
add esp, 0xc
lea eax, [ebp - 0x5a8]
lea ecx, [ebp - 0x320]
nop
push eax
push ecx
mov ecx, dword [0x4e2fdc]
add ecx, 0x624
call fcn.00429340
test eax, eax
jne 0x461f5c
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0xe50]
cmp ecx, 2
jne 0x461aaa
push 0x4dffbc
lea eax, [ebp - 0x320]
push str._scopy.tga
push eax
call fcn.004bd200
add esp, 0xc
lea eax, [ebp - 0x118]
lea ecx, [ebp - 0x320]
nop
push eax
push ecx
mov ecx, dword [0x4e2fdc]
add ecx, 0x624
call fcn.00429340
test eax, eax
jne 0x461fad
mov eax, dword [0x4e2fdc]
mov ecx, dword [eax + 0xe50]
cmp ecx, 2
jne 0x461aaa
push 0
lea eax, [ebp - 0x118]
push eax
call fcn.00477b30
add esp, 8
mov esi, eax
test esi, esi
je 0x4620af
movsx edi, word [esi + 0xe]
movsx ebx, word [esi + 0x10]
push 0x9c
call fcn.0045b6b0
add esp, 4
mov ecx, 0
mov dword [ebp - 0x14], eax
test eax, eax
mov dword [ebp - 4], 3
je 0x462001
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov eax, dword [edx + 0x34]
push eax
call fcn.00440a00
mov ecx, eax
mov edx, dword [ebp - 0x10]
push 0xff00ff
mov dword [ebp - 4], 0xffffffff
push pe_nt_image_headers32
mov dword [edx + 0xd4], ecx
mov eax, dword [0x4e2fdc]
push 0
push 1
mov edx, dword [esi + 0x18]
mov eax, dword [eax + 4]
push 2
push edx
push 0
mov edx, dword [eax + 8]
mov eax, dword [eax + 0x328]
push edx
sub eax, 0x7e0
push 4
cmp eax, 1
sbb eax, eax
push 0
and eax, 0xa
add eax, 0x22b
push eax
mov al, byte [esi + 0x12]
sub al, 0x10
cmp al, 1
sbb eax, eax
and eax, 0xfffffeb3
mov edx, dword [esi + 0x14]
add eax, 0x378
push eax
push edi
push edi
push ebx
push edi
push edx
call fcn.004410b0
mov ecx, dword [ebp - 0x10]
test eax, eax
je 0x4620a1
call fcn.00462b10
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0x30]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xec], 1
mov dword [edx + 0xe8], 3
jmp 0x4620a6
call fcn.00464a60
push esi
call fcn.00478220
add esp, 4
mov dword [ebp - 0x24], 0xa
mov eax, dword [0x4e2fdc]
push 0x5c
mov dword [ebp - 0x1c], 0x100
mov eax, dword [eax + 0x2fc]
lea ecx, [eax - 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], eax
call fcn.0045b6b0
mov dword [ebp - 0x14], eax
add esp, 4
mov dword [ebp - 4], 4
mov esi, eax
test esi, esi
je 0x462105
push 1
mov ecx, esi
call fcn.00425070
mov ecx, eax
jmp 0x462107
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
push eax
mov ebx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x24]
push ebx
mov edx, dword [ebp - 0x10]
push eax
mov ebx, dword [edx + 0x1c]
push ebx
call fcn.00425180
push eax
mov ecx, dword [ebp - 0x10]
mov dword [0x4e4558], eax
call fcn.004203b0
cmp eax, 1
sbb eax, eax
neg eax
test eax, eax
je 0x46216c
push str.gLpTrialTextOverlay_not_created._n
lea eax, [ebp - 0x72c]
push eax
call fcn.004bd200
add esp, 8
lea eax, [ebp - 0x72c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp - 0x10]
jmp 0x461aac
mov eax, dword [0x4e4558]
mov dword [eax + 0x58], 0xffffff
mov eax, dword [ebp - 0x10]
jmp 0x461aac