Function at 0x420a30
Capabilities:
Hide graphical window

Disassembly:
push 0xffffffffffffffff
push 0x4858d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
mov eax, dword [esp + 0x34]
push ebx
xor ebx, ebx
push esi
test ax, ax
mov esi, ecx
mov dword [esp + 0x10], ebx
jne 0x420a67
mov dword [esp + 0x3c], 0xffff
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
cmp word [esi + 0x24], cx
jne 0x420a83
cmp word [esi + 0x26], ax
jne 0x420a83
mov edx, dword [esp + 0x40]
test edx, edx
je 0x420d98
mov word [esi + 0x26], ax
mov eax, dword [esp + 0x40]
push ebp
push edi
test eax, eax
mov word [esi + 0x24], cx
jne 0x420b42
mov eax, dword [esi + 0x20]
push eax
call dword [0x48a598]
test eax, eax
je 0x420b42
mov edx, dword [esi + 0x20]
lea ecx, [esp + 0x1c]
push ecx
push edx
call dword [0x48a590]
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
push 0
sub ebx, eax
push 0x20
sub edi, ecx
push 1
push ebx
push edi
call dword [0x48a038]
mov ebp, eax
mov eax, dword [esi + 0x18]
push ebp
push eax
call dword [0x48a03c]
push ebp
call dword [0x48a048]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x20]
push 1
push ecx
push edx
call dword [0x48a574]
mov eax, dword [esp + 0x20]
mov edx, dword [esi + 0x1c]
mov ecx, dword [esp + 0x1c]
push 4
push ebx
push edi
push eax
mov eax, dword [edx + 0x1c]
push ecx
push 0
push eax
call dword [0x48a594]
xor ecx, ecx
push ebx
push edi
xor eax, eax
push ecx
mov ecx, dword [esi + 0x18]
push eax
push ecx
mov ecx, dword [esi + 0x1c]
call fcn.0043d220
mov edx, dword [esp + 0x3c]
mov ecx, dword [esi + 0x1c]
push edx
call fcn.00446c80
mov ebx, dword [esp + 0x18]
mov eax, dword [esi + 0xc]
xor edi, edi
test eax, eax
jle 0x420b95
mov ebp, 0x402
mov eax, dword [esi + 8]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x420b69
mov edx, dword [eax + 0x1c]
push 0
push edx
call dword [0x48a59c]
mov eax, dword [esi + 8]
mov ecx, dword [eax + edi*4]
cmp word [ecx + 4], bp
jne 0x420b8d
call fcn.0042af80
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x420b8d
mov edx, dword [esi + 8]
mov eax, dword [edx + edi*4]
mov dword [eax], 0
mov eax, dword [esi + 0xc]
inc edi
cmp edi, eax
jl 0x420b50
mov eax, dword [esi + 0xc]
xor edi, edi
test eax, eax
jle 0x420d78
or ebp, 0xffffffff
mov ecx, dword [esi + 8]
mov eax, dword [ecx + edi*4]
mov ecx, dword [esp + 0x40]
mov dx, word [eax + 0xa]
and edx, ecx
test dx, dx
je 0x420d6c
cmp dword [eax], 0
je 0x420d6c
mov cx, word [eax + 0xc]
mov edx, dword [esp + 0x44]
and ecx, edx
test cx, cx
je 0x420d6c
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x420d6c
xor ecx, ecx
mov cx, word [eax + 4]
add ecx, 0xfffffefa
cmp ecx, 0xfc
ja case.0x420c05.266
xor edx, edx
mov dl, byte [ecx + 0x420dc4]
jmp dword [edx*4 + 0x420db0]
lea eax, [esp + 0x10]
push eax
push 0x10b
call fcn.004061a0
mov ecx, eax
call fcn.00409eb0
test eax, eax
je case.0x420c05.266
cmp dword [esp + 0x10], 1
jne 0x420d6c
jmp case.0x420c05.266
lea ecx, [esp + 0x10]
push ecx
push 0x109
call fcn.004061a0
mov ecx, eax
call fcn.00409eb0
test eax, eax
je case.0x420c05.266
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x420ca0
lea edx, [esp + 0x14]
push str.IDS_STG_ASFQUALITY
push edx
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
mov ecx, dword [esi + 8]
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x38], 0
mov ecx, dword [ecx + edi*4]
add ecx, 0x1c
call fcn.0047b269
lea ecx, [esp + 0x14]
mov dword [esp + 0x34], ebp
call fcn.0047b122
jmp case.0x420c05.266
cmp eax, 1
jne 0x420d6c
lea edx, [esp + 0x18]
push str.IDS_STG_WMVQUALITY
push edx
call fcn.0043a460
mov ecx, eax
call fcn.0043a5b0
mov ecx, dword [esi + 8]
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x38], 1
mov ecx, dword [ecx + edi*4]
add ecx, 0x1c
call fcn.0047b269
lea ecx, [esp + 0x18]
mov dword [esp + 0x34], ebp
call fcn.0047b122
jmp case.0x420c05.266
lea edx, [esp + 0x10]
push edx
push 0x10a
call fcn.004061a0
mov ecx, eax
call fcn.00409eb0
test eax, eax
je case.0x420c05.265
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x420d6c
mov eax, dword [esi + 8]
mov ecx, dword [eax + edi*4]
cmp dword [ecx], 0
je 0x420d6c
mov edx, dword [esi + 8]
push 5
push 0
push 0
mov eax, dword [edx + edi*4]
push 0
push ebx
push 0
mov ecx, dword [eax + 0x24]
mov edx, dword [ecx + 0x1c]
push edx
call dword [0x48a594]
mov eax, 0x14
xor edx, edx
mov ecx, eax
push ecx
mov ecx, dword [esi + 8]
push eax
mov eax, dword [esp + 0x44]
push edx
mov edx, dword [ecx + edi*4]
push ebx
push eax
mov ecx, dword [edx + 0x24]
call fcn.0041f5e0
mov eax, dword [esi + 8]
push 5
mov ecx, dword [eax + edi*4]
mov edx, dword [ecx + 0x24]
mov eax, dword [edx + 0x1c]
push eax
call dword [0x48a59c]
add ebx, 0x15
mov eax, dword [esi + 0xc]
inc edi
cmp edi, eax
jl 0x420ba5
mov eax, dword [esp + 0x48]
pop edi
test eax, eax
pop ebp
jne 0x420d98
mov ecx, dword [esi + 0x20]
push ecx
call dword [0x48a598]
test eax, eax
je 0x420d98
mov ecx, dword [esi + 0x1c]
call fcn.00446c20
mov ecx, dword [esp + 0x24]
pop esi
mov eax, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x28
ret 0x10