Function at 0x41b4d0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x830
mov eax, dword [0x79a200]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x80c]
push edi
push 0x104
mov edi, edx
mov dword [ebp - 0x818], esi
mov ebx, ecx
mov dword [ebp - 0x814], edi
push eax
mov dword [ebp - 0x810], ebx
mov dword [ebp - 0x81c], 0
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov ecx, 0x20
test eax, eax
je 0x41c452
xor eax, eax
lea ecx, [ebp - 0x40c]
mov word [ebp - 0x606], ax
lea ebx, [ebp - 0x80c]
mov eax, ecx
mov edx, 0x200
sub ebx, eax
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x41b564
movzx eax, word [ebx + ecx]
test ax, ax
je 0x41b564
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x41b546
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x200
lea eax, [ebp - 0x40c]
nop dword [eax]
cmp word [eax], 0
je 0x41b58e
add eax, 2
sub ecx, 1
jne 0x41b580
mov edx, 0x200
mov esi, ecx
mov eax, edx
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x41b5ec
lea ecx, [ebp - 0x40c]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x41b5df
mov edi, str.ddraw.dll
mov eax, SysReAllocString
sub edi, ecx
nop dword [eax]
test eax, eax
je 0x41b5d9
movzx esi, word [edi + ecx]
test si, si
je 0x41b5d9
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x41b5c0
mov edi, dword [ebp - 0x814]
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea edx, [ebp - 0x824]
lea ecx, [ebp - 0x40c]
call fcn.0041c480
test eax, eax
js 0x41b708
mov ecx, dword [ebp - 0x820]
mov eax, dword [ebp - 0x824]
mov dword [ebp - 0x82c], 0x5f
cmp ecx, 0x40002
ja 0x41b62c
jb 0x41b66a
cmp eax, 0x5f
ja 0x41b62c
jb 0x41b66a
mov edx, dword [ebp - 0x810]
test edx, edx
je 0x41b63c
mov dword [edx], 1
test edi, edi
je 0x41b646
mov dword [edi], 0
mov esi, dword [ebp - 0x818]
test esi, esi
je 0x41b65e
mov edx, 0x20
mov word [esi], dx
mov edx, dword [ebp - 0x810]
mov dword [ebp - 0x81c], 1
jmp 0x41b676
mov esi, dword [ebp - 0x818]
mov edx, dword [ebp - 0x810]
mov dword [ebp - 0x82c], 0x448
cmp ecx, 0x40003
ja 0x41b693
jb 0x41b6c3
cmp eax, 0x448
ja 0x41b693
jb 0x41b6c3
test edx, edx
je 0x41b69d
mov dword [edx], 2
test edi, edi
je 0x41b6a7
mov dword [edi], 0
test esi, esi
je 0x41b6b9
mov edx, 0x20
mov word [esi], dx
mov edx, dword [ebp - 0x810]
mov dword [ebp - 0x81c], 1
mov dword [ebp - 0x82c], 0x44
cmp ecx, 0x40004
ja 0x41b6de
jb 0x41b708
cmp eax, 0x44
ja 0x41b6de
jb 0x41b708
test edx, edx
je 0x41b6e8
mov dword [edx], 3
test edi, edi
je 0x41b6f2
mov dword [edi], 0
test esi, esi
je 0x41b6fe
mov eax, 0x20
mov word [esi], ax
mov dword [ebp - 0x81c], 1
mov edx, 0x200
lea ecx, [ebp - 0x40c]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x41b731
movzx eax, word [ecx + ebx]
test ax, ax
je 0x41b731
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x41b713
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x200
lea eax, [ebp - 0x40c]
nop dword [eax]
cmp word [eax], 0
je 0x41b75e
add eax, 2
sub ecx, 1
jne 0x41b750
mov edi, 0x200
mov esi, ecx
mov eax, edi
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x41b7bb
mov edx, edi
lea ecx, [ebp - 0x40c]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x41b7ae
mov edi, str.d3drg8x.dll
mov eax, SysReAllocString
sub edi, ecx
nop
test eax, eax
je 0x41b7a9
movzx esi, word [edi + ecx]
test si, si
je 0x41b7a9
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x41b790
mov edi, 0x200
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea edx, [ebp - 0x824]
lea ecx, [ebp - 0x40c]
call fcn.0041c480
mov ecx, 0x61
test eax, eax
js 0x41b82f
cmp dword [ebp - 0x820], 0x40004
mov dword [ebp - 0x82c], 0x46
ja 0x41b7f8
jb 0x41b82f
cmp dword [ebp - 0x824], 0x46
ja 0x41b7f8
jb 0x41b82f
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x41b808
mov dword [eax], 3
mov eax, dword [ebp - 0x814]
test eax, eax
je 0x41b818
mov dword [eax], 0
mov eax, dword [ebp - 0x818]
test eax, eax
je 0x41b825
mov word [eax], cx
mov dword [ebp - 0x81c], 1
mov edx, 0x200
lea ecx, [ebp - 0x40c]
nop word [eax + eax]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x41b85e
movzx eax, word [ecx + ebx]
test ax, ax
je 0x41b85e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x41b840
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x200
lea eax, [ebp - 0x40c]
cmp word [eax], 0
je 0x41b884
add eax, 2
sub ecx, 1
jne 0x41b876
mov eax, edi
mov esi, ecx
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x41b8d6
mov edx, edi
lea ecx, [ebp - 0x40c]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x41b8c9
mov edi, str.ddraw.dll
mov eax, SysReAllocString
sub edi, ecx
nop
test eax, eax
je 0x41b8c9
movzx esi, word [edi + ecx]
test si, si
je 0x41b8c9
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x41b8b0
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea edx, [ebp - 0x824]
lea ecx, [ebp - 0x40c]
call fcn.0041c480
test eax, eax
js 0x41ba02
mov ecx, dword [ebp - 0x820]
mov eax, dword [ebp - 0x824]
mov dword [ebp - 0x82c], 0x9b
cmp ecx, 0x40005
ja 0x41b918
jb 0x41b95c
cmp eax, 0x9b
ja 0x41b918
jb 0x41b95c
mov esi, dword [ebp - 0x810]
test esi, esi
je 0x41b928
mov dword [esi], 5
mov edx, dword [ebp - 0x814]
test edx, edx
je 0x41b938
mov dword [edx], 0
mov edi, dword [ebp - 0x818]
test edi, edi
je 0x41b950
mov esi, 0x20
mov word [edi], si
mov esi, dword [ebp - 0x810]
mov dword [ebp - 0x81c], 1
jmp 0x41b96e
mov edi, dword [ebp - 0x818]
mov esi, dword [ebp - 0x810]
mov edx, dword [ebp - 0x814]
mov dword [ebp - 0x82c], 0x13e
cmp ecx, 0x40006
ja 0x41b98b
jb 0x41b9bb
cmp eax, 0x13e
ja 0x41b98b
jb 0x41b9bb
test esi, esi
je 0x41b995
mov dword [esi], 6
test edx, edx
je 0x41b99f
mov dword [edx], 0
test edi, edi
je 0x41b9b1
mov esi, 0x20
mov word [edi], si
mov esi, dword [ebp - 0x810]
mov dword [ebp - 0x81c], 1
mov dword [ebp - 0x82c], 0x1b4
cmp ecx, 0x40006
ja 0x41b9d8
jb 0x41ba02
cmp eax, 0x1b4
ja 0x41b9d8
jb 0x41ba02
test esi, esi
je 0x41b9e2
mov dword [esi], 6
test edx, edx
je 0x41b9ec
mov dword [edx], 1
test edi, edi
je 0x41b9f8
mov eax, 0x20
mov word [edi], ax
mov dword [ebp - 0x81c], 1
mov edx, 0x200
lea ecx, [ebp - 0x40c]
nop dword [eax]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x41ba2e
movzx eax, word [ecx + ebx]
test ax, ax
je 0x41ba2e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x41ba10
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x200
lea eax, [ebp - 0x40c]
cmp word [eax], 0
je 0x41ba54
add eax, 2
sub ecx, 1
jne 0x41ba46
mov edi, 0x200
mov esi, ecx
mov eax, edi
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x41baaf
mov edx, edi
lea ecx, [ebp - 0x40c]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x41baa2
mov edi, str.dplayx.dll
mov eax, SysReAllocString
sub edi, ecx
test eax, eax
je 0x41ba9d
movzx esi, word [ecx + edi]
test si, si
je 0x41ba9d
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x41ba84
mov edi, 0x200
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea edx, [ebp - 0x824]
lea ecx, [ebp - 0x40c]
call fcn.0041c480
test eax, eax
js 0x41bb26
cmp dword [ebp - 0x820], 0x40006
mov dword [ebp - 0x82c], 0x30206
ja 0x41baea
jb 0x41bb26
cmp dword [ebp - 0x824], 0x30206
ja 0x41baea
jb 0x41bb26
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x41bafa
mov dword [eax], 6
mov eax, dword [ebp - 0x814]
test eax, eax
je 0x41bb0a
mov dword [eax], 1
mov eax, dword [ebp - 0x818]
test eax, eax
je 0x41bb1c
mov ecx, 0x61
mov word [eax], cx
mov dword [ebp - 0x81c], 1
mov edx, 0x200
lea ecx, [ebp - 0x40c]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x41bb4f
movzx eax, word [ecx + ebx]
test ax, ax
je 0x41bb4f
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x41bb31
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x200
lea eax, [ebp - 0x40c]
cmp word [eax], 0
je 0x41bb75
add eax, 2
sub ecx, 1
jne 0x41bb67
mov eax, edi
mov esi, ecx
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x41bbcb
mov edx, edi
lea ecx, [ebp - 0x40c]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x41bbbe
mov edi, str.ddraw.dll
mov eax, SysReAllocString
sub edi, ecx
test eax, eax
je 0x41bbb9
movzx esi, word [ecx + edi]
test si, si
je 0x41bbb9
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x41bba0
mov edi, 0x200
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea edx, [ebp - 0x824]
lea ecx, [ebp - 0x40c]
call fcn.0041c480
test eax, eax
js 0x41bc42
cmp dword [ebp - 0x820], 0x40007
mov dword [ebp - 0x82c], 0x2bc
ja 0x41bc06
jb 0x41bc42
cmp dword [ebp - 0x824], 0x2bc
ja 0x41bc06
jb 0x41bc42
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x41bc16
mov dword [eax], 7
mov eax, dword [ebp - 0x814]
test eax, eax
je 0x41bc26
mov dword [eax], 0
mov eax, dword [ebp - 0x818]
test eax, eax
je 0x41bc38
mov ecx, 0x20
mov word [eax], cx
mov dword [ebp - 0x81c], 1
mov edx, 0x200
lea ecx, [ebp - 0x40c]
nop dword [eax]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x41bc6e
movzx eax, word [ecx + ebx]
test ax, ax
je 0x41bc6e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x41bc50
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x200
lea eax, [ebp - 0x40c]
cmp word [eax], 0
je 0x41bc94
add eax, 2
sub ecx, 1
jne 0x41bc86
mov eax, edi
mov esi, ecx
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x41bceb
mov edx, edi
lea ecx, [ebp - 0x40c]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x41bcde
mov edi, str.dinput.dll
mov eax, SysReAllocString
sub edi, ecx
nop
test eax, eax
je 0x41bcd9
movzx esi, word [ecx + edi]
test si, si
je 0x41bcd9
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x41bcc0
mov edi, 0x200
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea edx, [ebp - 0x824]
lea ecx, [ebp - 0x40c]
call fcn.0041c480
test eax, eax
js 0x41bd62
cmp dword [ebp - 0x820], 0x40007
mov dword [ebp - 0x82c], 0x2cc
ja 0x41bd26
jb 0x41bd62
cmp dword [ebp - 0x824], 0x2cc
ja 0x41bd26
jb 0x41bd62
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x41bd36
mov dword [eax], 7
mov eax, dword [ebp - 0x814]
test eax, eax
je 0x41bd46
mov dword [eax], 0
mov eax, dword [ebp - 0x818]
test eax, eax
je 0x41bd58
mov ecx, 0x61
mov word [eax], cx
mov dword [ebp - 0x81c], 1
mov edx, 0x200
lea ecx, [ebp - 0x40c]
nop dword [eax]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x41bd8e
movzx eax, word [ecx + ebx]
test ax, ax
je 0x41bd8e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x41bd70
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x200
lea eax, [ebp - 0x40c]
cmp word [eax], 0
je 0x41bdb4
add eax, 2
sub ecx, 1
jne 0x41bda6
mov eax, edi
mov esi, ecx
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x41be0b
mov edx, edi
lea ecx, [ebp - 0x40c]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x41bdfe
mov edi, str.ddraw.dll
mov eax, SysReAllocString
sub edi, ecx
nop
test eax, eax
je 0x41bdf9
movzx esi, word [edi + ecx]
test si, si
je 0x41bdf9
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x41bde0
mov edi, 0x200
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea edx, [ebp - 0x824]
lea ecx, [ebp - 0x40c]
call fcn.0041c480
test eax, eax
js 0x41beb9
mov eax, dword [ebp - 0x820]
mov ecx, eax
shr ecx, 0x10
cmp cx, 4
jne 0x41be56
mov dword [ebp - 0x82c], 0x190
cmp eax, 0x40008
ja 0x41be7d
jb 0x41beb9
cmp dword [ebp - 0x824], 0x190
jae 0x41be7d
jmp 0x41beb9
cmp cx, 5
jne 0x41beb9
mov dword [ebp - 0x82c], 0x8d20190
cmp eax, 0x50001
ja 0x41be7d
jb 0x41beb9
cmp dword [ebp - 0x824], 0x8d20190
ja 0x41be7d
jb 0x41beb9
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x41be8d
mov dword [eax], 8
mov eax, dword [ebp - 0x814]
test eax, eax
je 0x41be9d
mov dword [eax], 0
mov eax, dword [ebp - 0x818]
test eax, eax
je 0x41beaf
mov ecx, 0x20
mov word [eax], cx
mov dword [ebp - 0x81c], 1
mov edx, 0x200
lea ecx, [ebp - 0x40c]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x41bee2
movzx eax, word [ecx + ebx]
test ax, ax
je 0x41bee2
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x41bec4
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x200
lea eax, [ebp - 0x40c]
nop word [eax + eax]
cmp word [eax], 0
je 0x41bf0e
add eax, 2
sub ecx, 1
jne 0x41bf00
mov eax, edi
mov esi, ecx
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x41bf6b
mov edx, edi
lea ecx, [ebp - 0x40c]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x41bf5e
mov edi, str.d3d8.dll
mov eax, SysReAllocString
sub edi, ecx
nop dword [eax]
test eax, eax
je 0x41bf59
movzx esi, word [edi + ecx]
test si, si
je 0x41bf59
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x41bf40
mov edi, 0x200
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea edx, [ebp - 0x824]
lea ecx, [ebp - 0x40c]
call fcn.0041c480
test eax, eax
js 0x41c0a3
mov ecx, dword [ebp - 0x820]
mov edx, ecx
mov eax, dword [ebp - 0x824]
shr edx, 0x10
cmp dx, 4
jne 0x41bfb8
mov dword [ebp - 0x82c], 0x10371
cmp ecx, 0x40008
ja 0x41bfdf
jb 0x41c027
cmp eax, 0x10371
jae 0x41bfdf
jmp 0x41c027
cmp dx, 5
jne 0x41c0a3
mov dword [ebp - 0x82c], 0xa280371
cmp ecx, 0x50001
ja 0x41bfdf
jb 0x41c04a
cmp eax, 0xa280371
ja 0x41bfdf
jb 0x41c04a
mov esi, dword [ebp - 0x810]
test esi, esi
je 0x41bfef
mov dword [esi], 8
mov esi, dword [ebp - 0x814]
test esi, esi
je 0x41bfff
mov dword [esi], 1
mov esi, dword [ebp - 0x818]
test esi, esi
je 0x41c017
mov ecx, 0x20
mov word [esi], cx
mov ecx, dword [ebp - 0x820]
mov dword [ebp - 0x81c], 1
cmp dx, 4
jne 0x41c044
mov dword [ebp - 0x82c], 0x10385
cmp ecx, 0x40008
ja 0x41c067
jb 0x41c0a3
cmp eax, 0x10385
jae 0x41c067
jmp 0x41c0a3
cmp dx, 5
jne 0x41c0a3
mov dword [ebp - 0x82c], 0xa280385
cmp ecx, 0x50001
ja 0x41c067
jb 0x41c0a3
cmp eax, 0xa280385
ja 0x41c067
jb 0x41c0a3
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x41c077
mov dword [eax], 8
mov eax, dword [ebp - 0x814]
test eax, eax
je 0x41c087
mov dword [eax], 1
mov eax, dword [ebp - 0x818]
test eax, eax
je 0x41c099
mov ecx, 0x61
mov word [eax], cx
mov dword [ebp - 0x81c], 1
mov edx, 0x200
lea ecx, [ebp - 0x40c]
nop
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x41c0ce
movzx eax, word [ecx + ebx]
test ax, ax
je 0x41c0ce
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x41c0b0
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x200
lea eax, [ebp - 0x40c]
cmp word [eax], 0
je 0x41c0f4
add eax, 2
sub ecx, 1
jne 0x41c0e6
mov eax, edi
mov esi, ecx
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x41c14b
mov edx, edi
lea ecx, [ebp - 0x40c]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x41c13e
mov edi, str.mpg2splt.ax
mov eax, SysReAllocString
sub edi, ecx
nop
test eax, eax
je 0x41c139
movzx esi, word [edi + ecx]
test si, si
je 0x41c139
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x41c120
mov edi, 0x200
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea edx, [ebp - 0x824]
lea ecx, [ebp - 0x40c]
call fcn.0041c480
test eax, eax
js 0x41c1c2
cmp dword [ebp - 0x820], 0x60003
mov dword [ebp - 0x82c], 0x10375
ja 0x41c186
jb 0x41c1c2
cmp dword [ebp - 0x824], 0x10375
ja 0x41c186
jb 0x41c1c2
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x41c196
mov dword [eax], 8
mov eax, dword [ebp - 0x814]
test eax, eax
je 0x41c1a6
mov dword [eax], 1
mov eax, dword [ebp - 0x818]
test eax, eax
je 0x41c1b8
mov ecx, 0x62
mov word [eax], cx
mov dword [ebp - 0x81c], 1
mov edx, 0x200
lea ecx, [ebp - 0x40c]
nop dword [eax]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x41c1ee
movzx eax, word [ecx + ebx]
test ax, ax
je 0x41c1ee
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x41c1d0
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x200
lea eax, [ebp - 0x40c]
cmp word [eax], 0
je 0x41c214
add eax, 2
sub ecx, 1
jne 0x41c206
mov eax, edi
mov esi, ecx
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x41c266
mov edx, edi
lea ecx, [ebp - 0x40c]
lea ecx, [ecx + esi*2]
sub edx, esi
je 0x41c259
mov edi, str.dpnet.dll
mov eax, SysReAllocString
sub edi, ecx
nop
test eax, eax
je 0x41c259
movzx esi, word [edi + ecx]
test si, si
je 0x41c259
mov word [ecx], si
dec eax
add ecx, 2
sub edx, 1
jne 0x41c240
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea edx, [ebp - 0x824]
lea ecx, [ebp - 0x40c]
call fcn.0041c480
test eax, eax
js 0x41c2b7
mov eax, dword [ebp - 0x820]
mov ecx, eax
shr ecx, 0x10
cmp cx, 4
jne 0x41c3c4
mov dword [ebp - 0x82c], 0x86
cmp eax, 0x40009
ja 0x41c3f7
jb 0x41c2b7
cmp dword [ebp - 0x824], 0x86
jae 0x41c3f7
mov edi, dword [ebp - 0x814]
mov edx, 0x200
lea ecx, [ebp - 0x40c]
nop dword [eax + eax]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x41c2ee
movzx eax, word [ecx + ebx]
test ax, ax
je 0x41c2ee
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x41c2d0
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x200
lea eax, [ebp - 0x40c]
cmp word [eax], 0
je 0x41c314
add eax, 2
sub ecx, 1
jne 0x41c306
mov ebx, 0x200
mov edx, ecx
mov eax, ebx
sub eax, ecx
neg edx
sbb edx, edx
and edx, eax
test ecx, ecx
je 0x41c368
lea ecx, [ebp - 0x40c]
lea ecx, [ecx + edx*2]
sub ebx, edx
je 0x41c35b
mov esi, 0x772f40
mov eax, SysReAllocString
sub esi, ecx
test eax, eax
je 0x41c35b
movzx edx, word [ecx + esi]
test dx, dx
je 0x41c35b
mov word [ecx], dx
dec eax
add ecx, 2
sub ebx, 1
jne 0x41c342
test ebx, ebx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea edx, [ebp - 0x824]
lea ecx, [ebp - 0x40c]
call fcn.0041c480
test eax, eax
js 0x41c438
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x41c391
mov dword [eax], 9
test edi, edi
je 0x41c39b
mov dword [edi], 0
mov eax, dword [ebp - 0x818]
test eax, eax
je 0x41c46d
mov ecx, 0x20
mov word [eax], cx
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0068d76f
mov esp, ebp
pop ebp
ret
cmp cx, 5
jne 0x41c2b7
mov dword [ebp - 0x82c], 0xe5d0086
cmp eax, 0x50002
ja 0x41c3f7
jb 0x41c2b7
cmp dword [ebp - 0x824], 0xe5d0086
ja 0x41c3f7
jb 0x41c2b7
mov eax, dword [ebp - 0x810]
test eax, eax
je 0x41c407
mov dword [eax], 8
mov edi, dword [ebp - 0x814]
test edi, edi
je 0x41c417
mov dword [edi], 2
mov eax, dword [ebp - 0x818]
test eax, eax
je 0x41c429
mov ecx, 0x20
mov word [eax], cx
mov dword [ebp - 0x81c], 1
jmp 0x41c2bd
cmp dword [ebp - 0x81c], 0
jne 0x41c46d
mov ebx, dword [ebp - 0x810]
mov ecx, 0x20
mov esi, dword [ebp - 0x818]
test ebx, ebx
je 0x41c45c
mov dword [ebx], 0
test edi, edi
je 0x41c466
mov dword [edi], 0
test esi, esi
je 0x41c46d
mov word [esi], cx
mov ecx, dword [ebp - 8]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0068d76f
mov esp, ebp
pop ebp
ret