Function at 0x41c520
Capabilities:
Capture webcam image

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x8b4
mov eax, dword [0x614b80]
xor eax, esp
mov dword [esp + 0x8b0], eax
push ebx
mov ebx, dword [0x62727c]
push esi
push edi
mov esi, ecx
call fcn.0056ae4e
push 0x496
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
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.0056b44f
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x491
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x4a0
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x48b
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x498
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x48c
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x4a2
mov ecx, esi
call fcn.0056b44f
push 1
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push ecx
push 0x30
push edx
call edi
push 0x490
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x4c2
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x494
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x495
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x49a
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x427
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x404
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x406
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
push 1
mov edx, dword [eax + 0x20]
push ecx
push 0x30
push edx
call edi
push 0x409
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x40a
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x40d
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627aec]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x41a
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x41d
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x423
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x41f
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x421
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
push 1
push ecx
mov edx, dword [eax + 0x20]
push 0x30
push edx
call edi
push 0x422
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x418
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x489
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x41b
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x493
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x419
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x41e
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x49c
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
push 1
push ecx
push 0x30
mov edx, dword [eax + 0x20]
push edx
call edi
push 0x41c
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x420
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x453
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x445
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x446
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x441
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call edi
push 0x447
mov ecx, esi
call fcn.0056b44f
mov ecx, dword [0x627ae4]
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.0056b44f
mov ecx, eax
call fcn.0056b6a0
push edi
push 0x491
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push edi
push 0x494
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push edi
push 0x495
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push edi
push 0x49a
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push edi
push 0x4a0
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push edi
push 0x48b
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push edi
push 0x498
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push edi
push 0x48c
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push edi
push 0x4a2
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push edi
push 0x490
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push edi
push 0x427
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push edi
push 0x404
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push edi
push 0x406
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push edi
push 0x409
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push edi
push 0x40d
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push edi
push 0x40a
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
cmp ebx, edi
je 0x41d6f5
mov eax, dword [ebx]
mov edx, dword [eax + 0x160]
lea ecx, [esp + 0x438]
push ecx
mov ecx, ebx
call edx
test eax, eax
je 0x41cb7d
push 1
push 0x48f
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
lea eax, [esp + 0x438]
push eax
push 0x5d93f8
lea ecx, [esp + 0x40]
push 0x200
push ecx
call fcn.00439b90
add esp, 0x10
lea edx, [esp + 0x38]
push edx
push 0x41a
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
mov eax, dword [ebx]
mov edx, dword [eax + 0x164]
lea ecx, [esp + 0x438]
push ecx
mov ecx, ebx
call edx
test eax, eax
jne 0x41cbad
mov eax, dword [ebx]
mov edx, dword [eax + 0x174]
lea ecx, [esp + 0x438]
push ecx
mov ecx, ebx
call edx
test eax, eax
je 0x41cbf9
push 1
push 0x491
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
lea eax, [esp + 0x438]
push eax
push 0x5d93f8
lea ecx, [esp + 0x40]
push 0x200
push ecx
call fcn.00439b90
add esp, 0x10
lea edx, [esp + 0x38]
push edx
push 0x41d
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
mov eax, dword [ebx]
mov edx, dword [eax + 0x168]
lea ecx, [esp + 0x438]
push ecx
mov ecx, ebx
call edx
test eax, eax
je 0x41cc2c
lea eax, [esp + 0x438]
push eax
push 0x423
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
mov edx, dword [ebx]
mov edx, dword [edx + 0x154]
lea eax, [esp + 0x438]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41cc90
push 1
push 0x494
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
lea eax, [esp + 0x438]
push eax
push 0x5d93f8
lea ecx, [esp + 0x40]
push 0x200
push ecx
call fcn.00439b90
add esp, 0x10
lea edx, [esp + 0x38]
push edx
push 0x41f
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
mov eax, dword [ebx]
mov edx, dword [eax + 0x158]
lea ecx, [esp + 0x438]
push ecx
mov ecx, ebx
call edx
test eax, eax
je 0x41cd49
push 1
push 0x495
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
lea eax, [esp + 0x438]
push eax
push 0x5d93f8
lea ecx, [esp + 0x40]
push 0x200
push ecx
call fcn.00439b90
mov edx, dword [ebx]
mov edx, dword [edx + 0x1c0]
add esp, 0x10
lea eax, [esp + 0x838]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41cd31
lea eax, [esp + 0x838]
push eax
push str.___AMD_AGESA__s
lea ecx, [esp + 0x440]
push 0x200
push ecx
call fcn.00439b90
lea edx, [esp + 0x448]
push edx
lea eax, [esp + 0x4c]
push 0x200
push eax
call fcn.0057951b
add esp, 0x1c
lea ecx, [esp + 0x38]
push ecx
push 0x421
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
mov edx, dword [ebx]
mov edx, dword [edx + 0x15c]
lea eax, [esp + 0x438]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41cdad
push 1
push 0x49a
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
lea eax, [esp + 0x438]
push eax
push 0x5d93f8
lea ecx, [esp + 0x40]
push 0x200
push ecx
call fcn.00439b90
add esp, 0x10
lea edx, [esp + 0x38]
push edx
push 0x422
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
mov eax, dword [ebx]
mov edx, dword [eax + 0x13c]
lea ecx, [esp + 0x438]
push ecx
mov ecx, ebx
call edx
test eax, eax
je 0x41cdf5
push 1
push 0x4a0
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
lea eax, [esp + 0x438]
push eax
push 0x489
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
mov edx, dword [ebx]
mov edx, dword [edx + 0x140]
lea eax, [esp + 0x438]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41ce28
lea eax, [esp + 0x438]
push eax
push 0x418
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
mov edx, dword [ebx]
mov edx, dword [edx + 0x144]
lea eax, [esp + 0x438]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41ce70
push 1
push 0x48b
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
lea eax, [esp + 0x438]
push eax
push 0x41b
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
mov edx, dword [ebx]
mov edx, dword [edx + 0x148]
lea eax, [esp + 0x438]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41ceeb
push 1
push 0x498
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
lea eax, [esp + 0x438]
push eax
push 0x493
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
mov edx, dword [ebx]
mov edx, dword [edx + 0x14c]
lea eax, [esp + 0x438]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41ceeb
lea eax, [esp + 0x438]
push eax
push 0x419
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
mov edx, dword [ebx]
mov edx, dword [edx + 0x150]
lea eax, [esp + 0x438]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41cf33
push 1
push 0x48c
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
lea eax, [esp + 0x438]
push eax
push 0x41e
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
mov edx, dword [ebx]
mov edx, dword [edx + 0x280]
lea eax, [esp + 0x438]
push eax
push edi
mov ecx, ebx
call edx
test eax, eax
je 0x41cf86
push 1
push 0x4a2
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
lea eax, [esp + 0x438]
push eax
push 0x49c
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
mov edx, dword [ebx]
mov edx, dword [edx + 0x284]
jmp 0x41cf8e
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 0x41cfcf
push 1
push 0x4a2
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
lea eax, [esp + 0x438]
push eax
push 0x41c
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
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 + 0x1b4]
push ecx
lea eax, [esp + 0x24]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41d1e0
mov eax, dword [esp + 0x1c]
sub eax, 1
je 0x41d124
sub eax, 1
jne 0x41d1e0
push str._PCI_Express
lea eax, [esp + 0x3c]
push 0x200
push eax
call fcn.00439b90
fldz
fld dword [esp + 0x20]
add esp, 0xc
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x41d103
fld qword [0x5dd080]
fmul st(1)
call fcn.0057b7d0
cmp eax, 0x50
jg 0x41d0b4
je 0x41d099
cmp eax, 0x19
je 0x41d07e
cmp eax, 0x32
jne 0x41d0c2
push str._2.0__5.0_GT_s_
fstp st(0)
lea ecx, [esp + 0x3c]
push 0x200
push ecx
call fcn.0057951b
add esp, 0xc
jmp 0x41d105
push str._1.0__2.5_GT_s_
lea edx, [esp + 0x3c]
fstp st(0)
push 0x200
push edx
call fcn.0057951b
add esp, 0xc
jmp 0x41d105
push str._3.0__8.0_GT_s_
fstp st(0)
lea eax, [esp + 0x3c]
push 0x200
push eax
call fcn.0057951b
add esp, 0xc
jmp 0x41d105
cmp eax, 0xa0
je 0x41d0e8
cmp eax, 0x140
je 0x41d0e1
sub esp, 8
fstp qword [esp]
push str._PCI_Express___.1f_GT_s_
lea ecx, [esp + 0x44]
push 0x200
push ecx
call fcn.00439b90
add esp, 0x14
jmp 0x41d105
push str._5.0__32.0_GT_s_
jmp 0x41d083
push str._4.0__16.0_GT_s_
fstp st(0)
lea eax, [esp + 0x3c]
push 0x200
push eax
call fcn.0057951b
add esp, 0xc
jmp 0x41d105
fstp st(0)
push 1
push 0x490
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
lea ecx, [esp + 0x38]
push ecx
jmp 0x41d1cd
push 0x5d9518
lea edx, [esp + 0x3c]
push 0x200
push edx
call fcn.00439b90
mov eax, dword [esp + 0x34]
add esp, 0xc
cmp eax, edi
jle 0x41d167
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.00439b90
add esp, 0x14
fldz
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x41d1b1
call fcn.0057b7d0
push eax
push str.___dx_
lea eax, [esp + 0x440]
push 0x200
push eax
call fcn.00439b90
lea ecx, [esp + 0x448]
push ecx
lea edx, [esp + 0x4c]
push 0x200
push edx
call fcn.0057951b
add esp, 0x1c
jmp 0x41d1b3
fstp st(0)
push 1
push 0x490
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
lea eax, [esp + 0x38]
push eax
push 0x420
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
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 + 0x1b8]
push ecx
lea eax, [esp + 0x2c]
push eax
mov ecx, ebx
call edx
test eax, eax
je 0x41d6ec
mov eax, dword [esp + 0x1c]
sub eax, 3
je 0x41d4a6
sub eax, 1
jne 0x41d6ec
push 1
push 0x427
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push 1
push 0x404
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push str._PCI_Express
lea eax, [esp + 0x3c]
push 0x200
push eax
call fcn.00439b90
fldz
fld dword [esp + 0x20]
add esp, 0xc
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x41d312
fmul qword [0x5dd080]
call fcn.0057b7d0
cmp eax, 0x50
jg 0x41d2f6
je 0x41d2dd
cmp eax, 0x19
je 0x41d2c4
cmp eax, 0x32
jne 0x41d314
push str._2.0
lea ecx, [esp + 0x3c]
push 0x200
push ecx
call fcn.0057951b
add esp, 0xc
jmp 0x41d314
push str._1.0
lea edx, [esp + 0x3c]
push 0x200
push edx
call fcn.0057951b
add esp, 0xc
jmp 0x41d314
push str._3.0
lea eax, [esp + 0x3c]
push 0x200
push eax
call fcn.0057951b
add esp, 0xc
jmp 0x41d314
cmp eax, 0xa0
je 0x41d30b
cmp eax, 0x140
jne 0x41d314
push str._5.0
jmp 0x41d2b0
push str._4.0
jmp 0x41d2c9
fstp st(0)
lea eax, [esp + 0x38]
push eax
push 0x453
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
push 0x5d95d0
push 0x406
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
cmp dword [esp + 0x20], edi
jle 0x41d393
push 1
push 0x406
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
mov ecx, dword [esp + 0x20]
push ecx
push 0x5d95e0
lea edx, [esp + 0x40]
push 0x200
push edx
call fcn.00439b90
add esp, 0x10
lea eax, [esp + 0x38]
push eax
push 0x445
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
cmp dword [esp + 0x18], edi
jle 0x41d3e2
push 1
push 0x409
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
mov ecx, dword [esp + 0x18]
push ecx
push 0x5d95e0
lea edx, [esp + 0x40]
push 0x200
push edx
call fcn.00439b90
add esp, 0x10
lea eax, [esp + 0x38]
push eax
push 0x446
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
fldz
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x41d43d
push 1
push 0x40a
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
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.00439b90
add esp, 0x14
lea edx, [esp + 0x38]
push edx
push 0x447
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
fldz
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 5
jp 0x41d6ec
push 1
push 0x40d
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push str.vuMR
push 0x40d
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
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.00439b90
add esp, 0x14
lea ecx, [esp + 0x38]
push ecx
jmp 0x41d6d9
push 1
push 0x427
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push 1
push 0x404
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push 1
push 0x406
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push 1
push 0x409
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push 1
push 0x40d
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push 0x5d954c
push 0x406
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x41d54a
push eax
push 0x5d9558
lea edx, [esp + 0x40]
push 0x200
push edx
call fcn.00439b90
add esp, 0x10
jmp 0x41d561
push str._rN_e
lea eax, [esp + 0x3c]
push 0x200
push eax
call fcn.00439b90
add esp, 0xc
lea ecx, [esp + 0x38]
push ecx
push 0x445
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
cmp dword [esp + 0x18], 0xffffffff
mov ecx, esi
je 0x41d5cb
push 1
push 0x409
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
mov edx, dword [esp + 0x18]
push edx
push 0x5d9558
lea eax, [esp + 0x40]
push 0x200
push eax
call fcn.00439b90
add esp, 0x10
lea ecx, [esp + 0x38]
push ecx
push 0x446
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
jmp 0x41d5dd
push edi
push 0x409
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
mov edx, dword [ebx]
mov edx, dword [edx + 0x1bc]
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 0x41d6a8
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.00439b90
add esp, 0x14
lea eax, [esp + 0x38]
push eax
push 0x453
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
push 1
push 0x40d
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
cmp dword [esp + 0x34], edi
jne 0x41d679
push str._rN_e
lea ecx, [esp + 0x3c]
push 0x200
push ecx
call fcn.00439b90
add esp, 0xc
lea eax, [esp + 0x38]
push eax
jmp 0x41d6d9
mov eax, 0x5d9584
cmp dword [esp + 0x2c], edi
jne 0x41d689
mov eax, 0x5d958c
push eax
push 0x5cb058
lea edx, [esp + 0x40]
push 0x200
push edx
call fcn.00439b90
add esp, 0x10
lea eax, [esp + 0x38]
push eax
jmp 0x41d6d9
push 0x5d9518
push 0x453
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
push edi
push 0x40d
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b6a0
push 0x5cafa8
push 0x441
mov ecx, esi
call fcn.0056b44f
mov ecx, eax
call fcn.0056b5bc
push edi
push edi
mov ecx, esi
call fcn.0041d850
mov ecx, dword [esp + 0x8bc]
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.0057943e
mov esp, ebp
pop ebp
ret