Function at 0x41c9f0
Capabilities:
Capture webcam image

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x8b4
mov eax, dword [0x619e70]
xor eax, esp
mov dword [esp + 0x8b0], eax
push ebx
mov ebx, dword [0x62c63c]
push esi
push edi
mov esi, ecx
call fcn.0056f563
push 0x496
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push ecx
push 0x30
push edx
call edi
push 0x48f
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x491
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x4a0
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x48b
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x498
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x48c
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x4a2
mov ecx, esi
call fcn.0056fb64
push 1
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push ecx
push 0x30
push edx
call edi
push 0x490
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x4c2
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x494
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x495
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x49a
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x427
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x404
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x406
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
push 1
mov edx, dword [eax + 0x20]
push ecx
push 0x30
push edx
call edi
push 0x409
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x40a
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x40d
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62cec0]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x41a
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x41d
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x423
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x41f
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x421
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
push 1
push ecx
mov edx, dword [eax + 0x20]
push 0x30
push edx
call edi
push 0x422
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x418
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x489
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x41b
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x493
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x419
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x41e
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x49c
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
push 1
push ecx
push 0x30
mov edx, dword [eax + 0x20]
push edx
call edi
push 0x41c
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x420
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x453
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x445
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x446
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x441
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x447
mov ecx, esi
call fcn.0056fb64
mov ecx, dword [0x62ceb8]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
xor edi, edi
push edi
push 0x48f
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push edi
push 0x491
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push edi
push 0x494
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push edi
push 0x495
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push edi
push 0x49a
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push edi
push 0x4a0
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push edi
push 0x48b
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push edi
push 0x498
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push edi
push 0x48c
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push edi
push 0x4a2
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push edi
push 0x490
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push edi
push 0x427
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push edi
push 0x404
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push edi
push 0x406
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push edi
push 0x409
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push edi
push 0x40d
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push edi
push 0x40a
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
cmp ebx, edi
je 0x41dbc5
mov eax, dword [ebx]
mov edx, dword [eax + 0x164]
lea ecx, [esp + 0x438]
push ecx
mov ecx, ebx
call edx
test eax, eax
je 0x41d04d
push 1
push 0x48f
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
lea eax, [esp + 0x438]
push eax
push 0x5decb0
lea ecx, [esp + 0x40]
push 0x200
push ecx
call fcn.0043a300
add esp, 0x10
lea edx, [esp + 0x38]
push edx
push 0x41a
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
mov eax, dword [ebx]
mov edx, dword [eax + 0x168]
lea ecx, [esp + 0x438]
push ecx
mov ecx, ebx
call edx
test eax, eax
jne 0x41d07d
mov eax, dword [ebx]
mov edx, dword [eax + 0x178]
lea ecx, [esp + 0x438]
push ecx
mov ecx, ebx
call edx
test eax, eax
je 0x41d0c9
push 1
push 0x491
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
lea eax, [esp + 0x438]
push eax
push 0x5decb0
lea ecx, [esp + 0x40]
push 0x200
push ecx
call fcn.0043a300
add esp, 0x10
lea edx, [esp + 0x38]
push edx
push 0x41d
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
mov eax, dword [ebx]
mov edx, dword [eax + 0x16c]
lea ecx, [esp + 0x438]
push ecx
mov ecx, ebx
call edx
test eax, eax
je 0x41d0fc
lea eax, [esp + 0x438]
push eax
push 0x423
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
mov edx, dword [ebx]
mov edx, dword [edx + 0x158]
lea eax, [esp + 0x438]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41d160
push 1
push 0x494
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
lea eax, [esp + 0x438]
push eax
push 0x5decb0
lea ecx, [esp + 0x40]
push 0x200
push ecx
call fcn.0043a300
add esp, 0x10
lea edx, [esp + 0x38]
push edx
push 0x41f
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
mov eax, dword [ebx]
mov edx, dword [eax + 0x15c]
lea ecx, [esp + 0x438]
push ecx
mov ecx, ebx
call edx
test eax, eax
je 0x41d219
push 1
push 0x495
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
lea eax, [esp + 0x438]
push eax
push 0x5decb0
lea ecx, [esp + 0x40]
push 0x200
push ecx
call fcn.0043a300
mov edx, dword [ebx]
mov edx, dword [edx + 0x1c4]
add esp, 0x10
lea eax, [esp + 0x838]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41d201
lea eax, [esp + 0x838]
push eax
push str.___AMD_AGESA__s
lea ecx, [esp + 0x440]
push 0x200
push ecx
call fcn.0043a300
lea edx, [esp + 0x448]
push edx
lea eax, [esp + 0x4c]
push 0x200
push eax
call fcn.0057dc29
add esp, 0x1c
lea ecx, [esp + 0x38]
push ecx
push 0x421
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
mov edx, dword [ebx]
mov edx, dword [edx + 0x160]
lea eax, [esp + 0x438]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41d27d
push 1
push 0x49a
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
lea eax, [esp + 0x438]
push eax
push 0x5decb0
lea ecx, [esp + 0x40]
push 0x200
push ecx
call fcn.0043a300
add esp, 0x10
lea edx, [esp + 0x38]
push edx
push 0x422
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
mov eax, dword [ebx]
mov edx, dword [eax + 0x140]
lea ecx, [esp + 0x438]
push ecx
mov ecx, ebx
call edx
test eax, eax
je 0x41d2c5
push 1
push 0x4a0
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
lea eax, [esp + 0x438]
push eax
push 0x489
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
mov edx, dword [ebx]
mov edx, dword [edx + 0x144]
lea eax, [esp + 0x438]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41d2f8
lea eax, [esp + 0x438]
push eax
push 0x418
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
mov edx, dword [ebx]
mov edx, dword [edx + 0x148]
lea eax, [esp + 0x438]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41d340
push 1
push 0x48b
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
lea eax, [esp + 0x438]
push eax
push 0x41b
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
mov edx, dword [ebx]
mov edx, dword [edx + 0x14c]
lea eax, [esp + 0x438]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41d3bb
push 1
push 0x498
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
lea eax, [esp + 0x438]
push eax
push 0x493
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
mov edx, dword [ebx]
mov edx, dword [edx + 0x150]
lea eax, [esp + 0x438]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41d3bb
lea eax, [esp + 0x438]
push eax
push 0x419
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
mov edx, dword [ebx]
mov edx, dword [edx + 0x154]
lea eax, [esp + 0x438]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41d403
push 1
push 0x48c
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
lea eax, [esp + 0x438]
push eax
push 0x41e
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
mov edx, dword [ebx]
mov edx, dword [edx + 0x288]
lea eax, [esp + 0x438]
push eax
push edi
mov ecx, ebx
call edx
test eax, eax
je 0x41d456
push 1
push 0x4a2
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
lea eax, [esp + 0x438]
push eax
push 0x49c
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
mov edx, dword [ebx]
mov edx, dword [edx + 0x28c]
jmp 0x41d45e
mov edx, dword [ebx]
mov edx, dword [edx + 0x290]
lea eax, [esp + 0x438]
push eax
push edi
mov ecx, ebx
call edx
test eax, eax
je 0x41d49f
push 1
push 0x4a2
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
lea eax, [esp + 0x438]
push eax
push 0x41c
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
fldz
lea eax, [esp + 0x14]
push eax
fstp dword [esp + 0x18]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], edi
mov edx, dword [ebx]
mov edx, dword [edx + 0x1b8]
push ecx
lea eax, [esp + 0x24]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41d6b0
mov eax, dword [esp + 0x1c]
sub eax, 1
je 0x41d5f4
sub eax, 1
jne 0x41d6b0
push str._PCI_Express
lea eax, [esp + 0x3c]
push 0x200
push eax
call fcn.0043a300
fldz
fld dword [esp + 0x20]
add esp, 0xc
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x41d5d3
fld qword [0x5e2a10]
fmul st(1)
call fcn.0057fee0
cmp eax, 0x50
jg 0x41d584
je 0x41d569
cmp eax, 0x19
je 0x41d54e
cmp eax, 0x32
jne 0x41d592
push str._2.0__5.0_GT_s_
fstp st(0)
lea ecx, [esp + 0x3c]
push 0x200
push ecx
call fcn.0057dc29
add esp, 0xc
jmp 0x41d5d5
push str._1.0__2.5_GT_s_
lea edx, [esp + 0x3c]
fstp st(0)
push 0x200
push edx
call fcn.0057dc29
add esp, 0xc
jmp 0x41d5d5
push str._3.0__8.0_GT_s_
fstp st(0)
lea eax, [esp + 0x3c]
push 0x200
push eax
call fcn.0057dc29
add esp, 0xc
jmp 0x41d5d5
cmp eax, 0xa0
je 0x41d5b8
cmp eax, 0x140
je 0x41d5b1
sub esp, 8
fstp qword [esp]
push str._PCI_Express___.1f_GT_s_
lea ecx, [esp + 0x44]
push 0x200
push ecx
call fcn.0043a300
add esp, 0x14
jmp 0x41d5d5
push str._5.0__32.0_GT_s_
jmp 0x41d553
push str._4.0__16.0_GT_s_
fstp st(0)
lea eax, [esp + 0x3c]
push 0x200
push eax
call fcn.0057dc29
add esp, 0xc
jmp 0x41d5d5
fstp st(0)
push 1
push 0x490
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
lea ecx, [esp + 0x38]
push ecx
jmp 0x41d69d
push 0x5dedd0
lea edx, [esp + 0x3c]
push 0x200
push edx
call fcn.0043a300
mov eax, dword [esp + 0x34]
add esp, 0xc
cmp eax, edi
jle 0x41d637
mov ecx, eax
and ecx, 0xf
push ecx
sar eax, 4
and eax, 0xf
push eax
push str._AGP__d._d
lea edx, [esp + 0x44]
push 0x200
push edx
call fcn.0043a300
add esp, 0x14
fldz
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x41d681
call fcn.0057fee0
push eax
push str.___dx_
lea eax, [esp + 0x440]
push 0x200
push eax
call fcn.0043a300
lea ecx, [esp + 0x448]
push ecx
lea edx, [esp + 0x4c]
push 0x200
push edx
call fcn.0057dc29
add esp, 0x1c
jmp 0x41d683
fstp st(0)
push 1
push 0x490
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
lea eax, [esp + 0x38]
push eax
push 0x420
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
fldz
lea eax, [esp + 0x14]
push eax
fst dword [esp + 0x28]
lea ecx, [esp + 0x28]
fstp dword [esp + 0x18]
push ecx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], edi
mov edx, dword [ebx]
mov edx, dword [edx + 0x1bc]
push ecx
lea eax, [esp + 0x2c]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41dbbc
mov eax, dword [esp + 0x1c]
sub eax, 3
je 0x41d976
sub eax, 1
jne 0x41dbbc
push 1
push 0x427
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push 1
push 0x404
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push str._PCI_Express
lea eax, [esp + 0x3c]
push 0x200
push eax
call fcn.0043a300
fldz
fld dword [esp + 0x20]
add esp, 0xc
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x41d7e2
fmul qword [0x5e2a10]
call fcn.0057fee0
cmp eax, 0x50
jg 0x41d7c6
je 0x41d7ad
cmp eax, 0x19
je 0x41d794
cmp eax, 0x32
jne 0x41d7e4
push str._2.0
lea ecx, [esp + 0x3c]
push 0x200
push ecx
call fcn.0057dc29
add esp, 0xc
jmp 0x41d7e4
push str._1.0
lea edx, [esp + 0x3c]
push 0x200
push edx
call fcn.0057dc29
add esp, 0xc
jmp 0x41d7e4
push str._3.0
lea eax, [esp + 0x3c]
push 0x200
push eax
call fcn.0057dc29
add esp, 0xc
jmp 0x41d7e4
cmp eax, 0xa0
je 0x41d7db
cmp eax, 0x140
jne 0x41d7e4
push str._5.0
jmp 0x41d780
push str._4.0
jmp 0x41d799
fstp st(0)
lea eax, [esp + 0x38]
push eax
push 0x453
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
push 0x5dee88
push 0x406
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
cmp dword [esp + 0x20], edi
jle 0x41d863
push 1
push 0x406
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
mov ecx, dword [esp + 0x20]
push ecx
push 0x5dee98
lea edx, [esp + 0x40]
push 0x200
push edx
call fcn.0043a300
add esp, 0x10
lea eax, [esp + 0x38]
push eax
push 0x445
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
cmp dword [esp + 0x18], edi
jle 0x41d8b2
push 1
push 0x409
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
mov ecx, dword [esp + 0x18]
push ecx
push 0x5dee98
lea edx, [esp + 0x40]
push 0x200
push edx
call fcn.0043a300
add esp, 0x10
lea eax, [esp + 0x38]
push eax
push 0x446
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
fldz
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x41d90d
push 1
push 0x40a
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
fld dword [esp + 0x14]
sub esp, 8
fstp qword [esp]
push str._.1f_GT_s
lea ecx, [esp + 0x44]
push 0x200
push ecx
call fcn.0043a300
add esp, 0x14
lea edx, [esp + 0x38]
push edx
push 0x447
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
fldz
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 5
jp 0x41dbbc
push 1
push 0x40d
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push str.vuMR
push 0x40d
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
fld dword [esp + 0x24]
sub esp, 8
fstp qword [esp]
push str._.1f_GT_s
lea eax, [esp + 0x44]
push 0x200
push eax
call fcn.0043a300
add esp, 0x14
lea ecx, [esp + 0x38]
push ecx
jmp 0x41dba9
push 1
push 0x427
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push 1
push 0x404
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push 1
push 0x406
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push 1
push 0x409
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push 1
push 0x40d
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push 0x5dee04
push 0x406
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x41da1a
push eax
push 0x5dee10
lea edx, [esp + 0x40]
push 0x200
push edx
call fcn.0043a300
add esp, 0x10
jmp 0x41da31
push str._rN_e
lea eax, [esp + 0x3c]
push 0x200
push eax
call fcn.0043a300
add esp, 0xc
lea ecx, [esp + 0x38]
push ecx
push 0x445
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
cmp dword [esp + 0x18], 0xffffffff
mov ecx, esi
je 0x41da9b
push 1
push 0x409
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
mov edx, dword [esp + 0x18]
push edx
push 0x5dee10
lea eax, [esp + 0x40]
push 0x200
push eax
call fcn.0043a300
add esp, 0x10
lea ecx, [esp + 0x38]
push ecx
push 0x446
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
jmp 0x41daad
push edi
push 0x409
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
mov edx, dword [ebx]
mov edx, dword [edx + 0x1c0]
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x38]
push ecx
lea eax, [esp + 0x38]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41db78
mov eax, dword [esp + 0x30]
mov ecx, eax
and ecx, 0xf
push ecx
sar eax, 4
and eax, 0xf
push eax
push str._AGP
lea edx, [esp + 0x44]
push 0x200
push edx
call fcn.0043a300
add esp, 0x14
lea eax, [esp + 0x38]
push eax
push 0x453
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
push 1
push 0x40d
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
cmp dword [esp + 0x34], edi
jne 0x41db49
push str._rN_e
lea ecx, [esp + 0x3c]
push 0x200
push ecx
call fcn.0043a300
add esp, 0xc
lea eax, [esp + 0x38]
push eax
jmp 0x41dba9
mov eax, 0x5dee3c
cmp dword [esp + 0x2c], edi
jne 0x41db59
mov eax, 0x5dee44
push eax
push 0x5d0848
lea edx, [esp + 0x40]
push 0x200
push edx
call fcn.0043a300
add esp, 0x10
lea eax, [esp + 0x38]
push eax
jmp 0x41dba9
push 0x5dedd0
push 0x453
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
push edi
push 0x40d
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fdb5
push 0x5d0798
push 0x441
mov ecx, esi
call fcn.0056fb64
mov ecx, eax
call fcn.0056fcd1
push edi
push edi
mov ecx, esi
call fcn.0041dd20
mov ecx, dword [esp + 0x8bc]
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.0057db4c
mov esp, ebp
pop ebp
ret