Function at 0x449270
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x820
mov eax, dword [0x645154]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x804]
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0xc]
push 0x104
push eax
mov dword [ebp - 0x808], ebx
mov dword [ebp - 0x810], edi
mov dword [ebp - 0x80c], esi
mov dword [ebp - 0x814], 0
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov ecx, 0x20
test eax, eax
je 0x44a24f
xor eax, eax
lea ecx, [ebp - 0x404]
mov word [ebp - 0x5fe], ax
lea ebx, [ebp - 0x804]
mov eax, ecx
mov edx, 0x200
sub ebx, eax
mov dword [ebp - 0x818], ebx
nop
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x44930e
movzx eax, word [ebx + ecx]
test ax, ax
je 0x44930e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x4492f0
test edx, edx
lea eax, [ecx - 2]
mov edx, 0x200
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x404]
cmp word [eax], cx
je 0x449333
add eax, 2
sub edx, 1
jne 0x449326
xor eax, eax
mov ecx, 0x80070057
test edx, edx
cmovne ecx, eax
mov eax, 0x200
sub eax, edx
xor esi, esi
test edx, edx
cmovne esi, eax
test ecx, ecx
js 0x44939e
mov edx, 0x200
lea ecx, [ebp - 0x404]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x449391
lea eax, [esi + 0x7ffffdff]
mov edi, str.ddraw.dll
add eax, edx
sub edi, ecx
test eax, eax
je 0x44938b
movzx esi, word [edi + ecx]
test si, si
je 0x44938b
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x449372
mov edi, dword [ebp - 0x810]
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.0044a280
add esp, 8
test eax, eax
js 0x4494a1
mov ecx, dword [ebp - 0x81c]
mov eax, dword [ebp - 0x820]
cmp ecx, 0x40002
ja 0x4493d9
jb 0x449417
cmp eax, 0x5f
ja 0x4493d9
jb 0x449417
mov edx, dword [ebp - 0x808]
test edx, edx
je 0x4493e9
mov dword [edx], 1
test edi, edi
je 0x4493f3
mov dword [edi], 0
mov esi, dword [ebp - 0x80c]
test esi, esi
je 0x44940b
mov ebx, 0x20
mov word [esi], bx
mov ebx, dword [ebp - 0x818]
mov dword [ebp - 0x814], 1
jmp 0x449423
mov esi, dword [ebp - 0x80c]
mov edx, dword [ebp - 0x808]
cmp ecx, 0x40003
ja 0x449436
jb 0x449466
cmp eax, 0x448
ja 0x449436
jb 0x449466
test edx, edx
je 0x449440
mov dword [edx], 2
test edi, edi
je 0x44944a
mov dword [edi], 0
test esi, esi
je 0x44945c
mov ebx, 0x20
mov word [esi], bx
mov ebx, dword [ebp - 0x818]
mov dword [ebp - 0x814], 1
cmp ecx, 0x40004
ja 0x449477
jb 0x4494a1
cmp eax, 0x44
ja 0x449477
jb 0x4494a1
test edx, edx
je 0x449481
mov dword [edx], 3
test edi, edi
je 0x44948b
mov dword [edi], 0
test esi, esi
je 0x449497
mov eax, 0x20
mov word [esi], ax
mov dword [ebp - 0x814], 1
mov edx, 0x200
lea ecx, [ebp - 0x404]
nop dword [eax]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x4494ce
movzx eax, word [ebx + ecx]
test ax, ax
je 0x4494ce
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x4494b0
test edx, edx
lea eax, [ecx - 2]
mov edx, 0x200
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x404]
cmp word [eax], cx
je 0x4494f3
add eax, 2
sub edx, 1
jne 0x4494e6
xor eax, eax
mov ecx, 0x80070057
test edx, edx
mov edi, 0x200
cmovne ecx, eax
mov eax, edi
sub eax, edx
xor esi, esi
test edx, edx
cmovne esi, eax
test ecx, ecx
js 0x44955c
mov edx, edi
lea ecx, [ebp - 0x404]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x44954f
lea eax, [esi + 0x7ffffdff]
mov edi, str.d3drg8x.dll
add eax, edx
sub edi, ecx
test eax, eax
je 0x44954a
movzx esi, word [edi + ecx]
test si, si
je 0x44954a
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x449531
mov edi, 0x200
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.0044a280
add esp, 8
mov ecx, 0x61
test eax, eax
js 0x4495ce
mov eax, dword [ebp - 0x81c]
cmp eax, 0x40004
ja 0x449597
jb 0x4495ce
mov eax, dword [ebp - 0x820]
cmp eax, 0x46
ja 0x449597
jb 0x4495ce
mov eax, dword [ebp - 0x808]
test eax, eax
je 0x4495a7
mov dword [eax], 3
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x4495b7
mov dword [eax], 0
mov eax, dword [ebp - 0x80c]
test eax, eax
je 0x4495c4
mov word [eax], cx
mov dword [ebp - 0x814], 1
mov edx, 0x200
lea ecx, [ebp - 0x404]
nop dword [eax]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x4495fe
movzx eax, word [ebx + ecx]
test ax, ax
je 0x4495fe
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x4495e0
test edx, edx
lea eax, [ecx - 2]
mov edx, 0x200
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x404]
cmp word [eax], cx
je 0x449623
add eax, 2
sub edx, 1
jne 0x449616
xor eax, eax
mov ecx, 0x80070057
test edx, edx
cmovne ecx, eax
mov eax, edi
sub eax, edx
xor esi, esi
test edx, edx
cmovne esi, eax
test ecx, ecx
js 0x449686
mov edx, edi
lea ecx, [ebp - 0x404]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x449679
lea eax, [esi + 0x7ffffdff]
mov edi, str.ddraw.dll
add eax, edx
sub edi, ecx
nop dword [eax]
test eax, eax
je 0x449679
movzx esi, word [edi + ecx]
test si, si
je 0x449679
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x449660
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.0044a280
add esp, 8
test eax, eax
js 0x449799
mov ecx, dword [ebp - 0x81c]
mov eax, dword [ebp - 0x820]
cmp ecx, 0x40005
ja 0x4496c3
jb 0x449707
cmp eax, 0x9b
ja 0x4496c3
jb 0x449707
mov esi, dword [ebp - 0x808]
test esi, esi
je 0x4496d3
mov dword [esi], 5
mov edx, dword [ebp - 0x810]
test edx, edx
je 0x4496e3
mov dword [edx], 0
mov edi, dword [ebp - 0x80c]
test edi, edi
je 0x4496fb
mov ebx, 0x20
mov word [edi], bx
mov ebx, dword [ebp - 0x818]
mov dword [ebp - 0x814], 1
jmp 0x449719
mov edi, dword [ebp - 0x80c]
mov esi, dword [ebp - 0x808]
mov edx, dword [ebp - 0x810]
cmp ecx, 0x40006
ja 0x44972c
jb 0x449799
cmp eax, 0x13e
ja 0x44972c
jb 0x44975c
test esi, esi
je 0x449736
mov dword [esi], 6
test edx, edx
je 0x449740
mov dword [edx], 0
test edi, edi
je 0x449752
mov ebx, 0x20
mov word [edi], bx
mov ebx, dword [ebp - 0x818]
mov dword [ebp - 0x814], 1
cmp ecx, 0x40006
ja 0x44976f
jb 0x449799
cmp eax, 0x1b4
ja 0x44976f
jb 0x449799
test esi, esi
je 0x449779
mov dword [esi], 6
test edx, edx
je 0x449783
mov dword [edx], 1
test edi, edi
je 0x44978f
mov eax, 0x20
mov word [edi], ax
mov dword [ebp - 0x814], 1
mov edx, 0x200
lea ecx, [ebp - 0x404]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x4497c2
movzx eax, word [ebx + ecx]
test ax, ax
je 0x4497c2
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x4497a4
test edx, edx
lea eax, [ecx - 2]
mov edx, 0x200
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x404]
nop word [eax + eax]
cmp word [eax], cx
je 0x4497ed
add eax, 2
sub edx, 1
jne 0x4497e0
xor eax, eax
mov ecx, 0x80070057
test edx, edx
mov edi, 0x200
cmovne ecx, eax
mov eax, edi
sub eax, edx
xor esi, esi
test edx, edx
cmovne esi, eax
test ecx, ecx
js 0x44985b
mov edx, edi
lea ecx, [ebp - 0x404]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x44984e
lea eax, [esi + 0x7ffffdff]
mov edi, str.dplayx.dll
add eax, edx
sub edi, ecx
nop dword [eax + eax]
test eax, eax
je 0x449849
movzx esi, word [edi + ecx]
test si, si
je 0x449849
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x449830
mov edi, 0x200
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.0044a280
add esp, 8
test eax, eax
js 0x4498cf
mov eax, dword [ebp - 0x81c]
cmp eax, 0x40006
ja 0x449893
jb 0x4498cf
mov eax, dword [ebp - 0x820]
cmp eax, 0x30206
ja 0x449893
jb 0x4498cf
mov eax, dword [ebp - 0x808]
test eax, eax
je 0x4498a3
mov dword [eax], 6
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x4498b3
mov dword [eax], 1
mov eax, dword [ebp - 0x80c]
test eax, eax
je 0x4498c5
mov ecx, 0x61
mov word [eax], cx
mov dword [ebp - 0x814], 1
mov edx, 0x200
lea ecx, [ebp - 0x404]
nop word [eax + eax]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x4498fe
movzx eax, word [ebx + ecx]
test ax, ax
je 0x4498fe
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x4498e0
test edx, edx
lea eax, [ecx - 2]
mov edx, 0x200
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x404]
cmp word [eax], cx
je 0x449923
add eax, 2
sub edx, 1
jne 0x449916
xor eax, eax
mov ecx, 0x80070057
test edx, edx
cmovne ecx, eax
mov eax, edi
sub eax, edx
xor esi, esi
test edx, edx
cmovne esi, eax
test ecx, ecx
js 0x44998b
mov edx, edi
lea ecx, [ebp - 0x404]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x44997e
lea eax, [esi + 0x7ffffdff]
mov edi, str.ddraw.dll
add eax, edx
sub edi, ecx
nop dword [eax]
test eax, eax
je 0x449979
movzx esi, word [edi + ecx]
test si, si
je 0x449979
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x449960
mov edi, 0x200
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.0044a280
add esp, 8
test eax, eax
js 0x4499ff
mov eax, dword [ebp - 0x81c]
cmp eax, 0x40007
ja 0x4499c3
jb 0x4499ff
mov eax, dword [ebp - 0x820]
cmp eax, 0x2bc
ja 0x4499c3
jb 0x4499ff
mov eax, dword [ebp - 0x808]
test eax, eax
je 0x4499d3
mov dword [eax], 7
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x4499e3
mov dword [eax], 0
mov eax, dword [ebp - 0x80c]
test eax, eax
je 0x4499f5
mov ecx, 0x20
mov word [eax], cx
mov dword [ebp - 0x814], 1
mov edx, 0x200
lea ecx, [ebp - 0x404]
nop word [eax + eax]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x449a2e
movzx eax, word [ebx + ecx]
test ax, ax
je 0x449a2e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x449a10
test edx, edx
lea eax, [ecx - 2]
mov edx, 0x200
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x404]
cmp word [eax], cx
je 0x449a53
add eax, 2
sub edx, 1
jne 0x449a46
xor eax, eax
mov ecx, 0x80070057
test edx, edx
cmovne ecx, eax
mov eax, edi
sub eax, edx
xor esi, esi
test edx, edx
cmovne esi, eax
test ecx, ecx
js 0x449abb
mov edx, edi
lea ecx, [ebp - 0x404]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x449aae
lea eax, [esi + 0x7ffffdff]
mov edi, str.dinput.dll
add eax, edx
sub edi, ecx
nop dword [eax]
test eax, eax
je 0x449aa9
movzx esi, word [edi + ecx]
test si, si
je 0x449aa9
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x449a90
mov edi, 0x200
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.0044a280
add esp, 8
test eax, eax
js 0x449b2f
mov eax, dword [ebp - 0x81c]
cmp eax, 0x40007
ja 0x449af3
jb 0x449b2f
mov eax, dword [ebp - 0x820]
cmp eax, 0x2cc
ja 0x449af3
jb 0x449b2f
mov eax, dword [ebp - 0x808]
test eax, eax
je 0x449b03
mov dword [eax], 7
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x449b13
mov dword [eax], 0
mov eax, dword [ebp - 0x80c]
test eax, eax
je 0x449b25
mov ecx, 0x61
mov word [eax], cx
mov dword [ebp - 0x814], 1
mov edx, 0x200
lea ecx, [ebp - 0x404]
nop word [eax + eax]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x449b5e
movzx eax, word [ecx + ebx]
test ax, ax
je 0x449b5e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x449b40
test edx, edx
lea eax, [ecx - 2]
mov edx, 0x200
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x404]
cmp word [eax], cx
je 0x449b83
add eax, 2
sub edx, 1
jne 0x449b76
xor eax, eax
mov ecx, 0x80070057
test edx, edx
cmovne ecx, eax
mov eax, edi
sub eax, edx
xor esi, esi
test edx, edx
cmovne esi, eax
test ecx, ecx
js 0x449be6
mov edx, edi
lea ecx, [ebp - 0x404]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x449bd9
lea eax, [esi + 0x7ffffdff]
mov edi, str.ddraw.dll
add eax, edx
sub edi, ecx
nop dword [eax]
test eax, eax
je 0x449bd9
movzx esi, word [ecx + edi]
test si, si
je 0x449bd9
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x449bc0
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.0044a280
add esp, 8
test eax, eax
js 0x449c93
mov edi, dword [ebp - 0x81c]
mov esi, edi
mov ebx, dword [ebp - 0x820]
shr esi, 0x10
cmp si, 4
jne 0x449c33
push 0x40008
push 0x190
push edi
push ebx
call fcn.00448f70
add esp, 0x10
test eax, eax
jns 0x449c51
cmp si, 5
jne 0x449c8d
push 0x50001
push 0x8d20190
push edi
push ebx
call fcn.00448f70
add esp, 0x10
test eax, eax
js 0x449c8d
mov eax, dword [ebp - 0x808]
test eax, eax
je 0x449c61
mov dword [eax], 8
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x449c71
mov dword [eax], 0
mov eax, dword [ebp - 0x80c]
test eax, eax
je 0x449c83
mov ecx, 0x20
mov word [eax], cx
mov dword [ebp - 0x814], 1
mov ebx, dword [ebp - 0x818]
mov edx, 0x200
lea ecx, [ebp - 0x404]
nop
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x449cbe
movzx eax, word [ecx + ebx]
test ax, ax
je 0x449cbe
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x449ca0
test edx, edx
lea eax, [ecx - 2]
mov edx, 0x200
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x404]
cmp word [eax], cx
je 0x449ce3
add eax, 2
sub edx, 1
jne 0x449cd6
xor eax, eax
mov ecx, 0x80070057
test edx, edx
mov ebx, 0x200
cmovne ecx, eax
mov eax, ebx
sub eax, edx
xor esi, esi
test edx, edx
cmovne esi, eax
test ecx, ecx
js 0x449d47
mov edx, ebx
lea ecx, [ebp - 0x404]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x449d3a
lea eax, [esi + 0x7ffffdff]
mov edi, str.d3d8.dll
add eax, edx
sub edi, ecx
test eax, eax
je 0x449d3a
movzx esi, word [ecx + edi]
test si, si
je 0x449d3a
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x449d21
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.0044a280
add esp, 8
test eax, eax
js 0x449e66
mov edi, dword [ebp - 0x81c]
mov esi, edi
mov ebx, dword [ebp - 0x820]
shr esi, 0x10
cmp si, 4
jne 0x449d94
push 0x40008
push 0x10371
push edi
push ebx
call fcn.00448f70
add esp, 0x10
test eax, eax
jns 0x449db2
cmp si, 5
jne 0x449dee
push 0x50001
push 0xa280371
push edi
push ebx
call fcn.00448f70
add esp, 0x10
test eax, eax
js 0x449dee
mov eax, dword [ebp - 0x808]
test eax, eax
je 0x449dc2
mov dword [eax], 8
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x449dd2
mov dword [eax], 1
mov eax, dword [ebp - 0x80c]
test eax, eax
je 0x449de4
mov ecx, 0x20
mov word [eax], cx
mov dword [ebp - 0x814], 1
cmp si, 4
jne 0x449e0c
push 0x40008
push 0x10385
push edi
push ebx
call fcn.00448f70
add esp, 0x10
test eax, eax
jns 0x449e2a
cmp si, 5
jne 0x449e66
push 0x50001
push 0xa280385
push edi
push ebx
call fcn.00448f70
add esp, 0x10
test eax, eax
js 0x449e66
mov eax, dword [ebp - 0x808]
test eax, eax
je 0x449e3a
mov dword [eax], 8
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x449e4a
mov dword [eax], 1
mov eax, dword [ebp - 0x80c]
test eax, eax
je 0x449e5c
mov ecx, 0x61
mov word [eax], cx
mov dword [ebp - 0x814], 1
mov ebx, dword [ebp - 0x818]
lea ecx, [ebp - 0x404]
mov edx, 0x200
nop word [eax + eax]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x449e9e
movzx eax, word [ecx + ebx]
test ax, ax
je 0x449e9e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x449e80
test edx, edx
lea eax, [ecx - 2]
mov edx, 0x200
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x404]
cmp word [eax], cx
je 0x449ec3
add eax, 2
sub edx, 1
jne 0x449eb6
xor eax, eax
mov ecx, 0x80070057
test edx, edx
mov edi, 0x200
cmovne ecx, eax
mov eax, edi
sub eax, edx
xor esi, esi
test edx, edx
cmovne esi, eax
test ecx, ecx
js 0x449f2c
mov edx, edi
lea ecx, [ebp - 0x404]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x449f1f
lea eax, [esi + 0x7ffffdff]
mov edi, str.mpg2splt.ax
add eax, edx
sub edi, ecx
test eax, eax
je 0x449f1a
movzx esi, word [ecx + edi]
test si, si
je 0x449f1a
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x449f01
mov edi, 0x200
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.0044a280
add esp, 8
test eax, eax
js 0x449fa0
mov eax, dword [ebp - 0x81c]
cmp eax, 0x60003
ja 0x449f64
jb 0x449fa0
mov eax, dword [ebp - 0x820]
cmp eax, 0x10375
ja 0x449f64
jb 0x449fa0
mov eax, dword [ebp - 0x808]
test eax, eax
je 0x449f74
mov dword [eax], 8
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x449f84
mov dword [eax], 1
mov eax, dword [ebp - 0x80c]
test eax, eax
je 0x449f96
mov ecx, 0x62
mov word [eax], cx
mov dword [ebp - 0x814], 1
mov edx, 0x200
lea ecx, [ebp - 0x404]
nop dword [eax + eax]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x449fce
movzx eax, word [ecx + ebx]
test ax, ax
je 0x449fce
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x449fb0
test edx, edx
lea eax, [ecx - 2]
mov edx, 0x200
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x404]
cmp word [eax], cx
je 0x449ff3
add eax, 2
sub edx, 1
jne 0x449fe6
xor eax, eax
mov ecx, 0x80070057
test edx, edx
cmovne ecx, eax
mov eax, edi
sub eax, edx
xor esi, esi
test edx, edx
cmovne esi, eax
test ecx, ecx
js 0x44a056
mov edx, edi
lea ecx, [ebp - 0x404]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x44a049
lea eax, [esi + 0x7ffffdff]
mov edi, str.dpnet.dll
add eax, edx
sub edi, ecx
nop dword [eax]
test eax, eax
je 0x44a049
movzx esi, word [ecx + edi]
test si, si
je 0x44a049
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x44a030
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.0044a280
add esp, 8
test eax, eax
js 0x44a0ff
mov edi, dword [ebp - 0x81c]
mov esi, edi
mov ebx, dword [ebp - 0x820]
shr esi, 0x10
cmp si, 4
jne 0x44a0a3
push 0x40009
push 0x86
push edi
push ebx
call fcn.00448f70
add esp, 0x10
test eax, eax
jns 0x44a0c1
cmp si, 5
jne 0x44a0ff
push 0x50002
push 0xe5d0086
push edi
push ebx
call fcn.00448f70
add esp, 0x10
test eax, eax
js 0x44a0ff
mov ebx, dword [ebp - 0x808]
test ebx, ebx
je 0x44a0d1
mov dword [ebx], 8
mov edi, dword [ebp - 0x810]
test edi, edi
je 0x44a0e1
mov dword [edi], 2
mov eax, dword [ebp - 0x80c]
test eax, eax
je 0x44a0f3
mov ecx, 0x20
mov word [eax], cx
mov dword [ebp - 0x814], 1
jmp 0x44a10b
mov edi, dword [ebp - 0x810]
mov ebx, dword [ebp - 0x808]
mov esi, dword [ebp - 0x818]
lea ecx, [ebp - 0x404]
mov edx, 0x200
nop dword [eax]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x44a13e
movzx eax, word [ecx + esi]
test ax, ax
je 0x44a13e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x44a120
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x200
lea eax, [ebp - 0x404]
cmp word [eax], 0
je 0x44a164
add eax, 2
sub ecx, 1
jne 0x44a156
xor edx, edx
mov eax, 0x80070057
test ecx, ecx
mov esi, 0x200
cmovne eax, edx
mov dword [ebp - 0x818], eax
mov eax, esi
sub eax, ecx
test ecx, ecx
cmovne edx, eax
cmp dword [ebp - 0x818], 0
jl 0x44a1e8
sub esi, edx
lea ecx, [ebp - 0x404]
mov dword [ebp - 0x818], esi
lea ecx, [ecx + edx*2]
je 0x44a1db
lea eax, [esi + 0x7ffffdff]
mov esi, str.d3d9.dll
add eax, edx
sub esi, ecx
nop
test eax, eax
je 0x44a1d5
movzx edx, word [ecx + esi]
test dx, dx
je 0x44a1d5
mov word [ecx], dx
dec eax
mov edx, dword [ebp - 0x818]
add ecx, 2
dec edx
mov dword [ebp - 0x818], edx
test edx, edx
jne 0x44a1b0
mov esi, dword [ebp - 0x818]
test esi, esi
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.0044a280
add esp, 8
test eax, eax
js 0x44a23b
test ebx, ebx
je 0x44a20c
mov dword [ebx], 9
test edi, edi
je 0x44a216
mov dword [edi], 0
mov eax, dword [ebp - 0x80c]
test eax, eax
je 0x44a26a
pop edi
mov ecx, 0x20
pop esi
mov word [eax], cx
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00595c5d
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x814], 0
jne 0x44a26a
mov esi, dword [ebp - 0x80c]
mov ecx, 0x20
test ebx, ebx
je 0x44a259
mov dword [ebx], 0
test edi, edi
je 0x44a263
mov dword [edi], 0
test esi, esi
je 0x44a26a
mov word [esi], cx
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00595c5d
mov esp, ebp
pop ebp
ret