Function at 0x408bf0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x2b4
mov eax, dword [0x4e86e0]
xor eax, esp
mov dword [esp + 0x2b0], eax
push ebx
push esi
push edi
push 0x4b2188
mov esi, ecx
push 0x4b17e0
mov dword [esp + 0x2c], esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40a3d1
push 0xffffffffffffffff
call eax
test eax, eax
je 0x40a3d1
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
test eax, eax
mov dword [0x4ea5c8], eax
je 0x40a3d1
mov eax, dword [esi + 0xb0]
mov dword [eax + 4], 0x407f70
call fcn.00438330
mov ecx, dword [eax + 4]
push 0x4b1878
call ecx
call fcn.00438330
mov edx, dword [eax + 4]
push str.__________________________n
call edx
call fcn.00438330
mov edx, dword [eax + 4]
lea ecx, [esi + 0xf4]
push ecx
push str.__CPU_Z
call edx
call fcn.00438330
mov eax, dword [eax + 4]
push str.__________________________n_n
call eax
add esp, 0x14
push 0xffffffffffffffff
call fcn.00438330
mov ecx, eax
call fcn.004370e0
test eax, eax
je 0x40a3d1
push 0x7d0
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esi + 0xb8]
call fcn.00421de0
mov ecx, dword [esi + 0xbc]
push 0
call fcn.0043c940
mov esi, eax
test esi, esi
je 0x409c49
call fcn.00438330
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0xbc]
mov edx, dword [ecx + 8]
mov eax, dword [eax + 4]
push edx
push 0x4b216c
call eax
add esp, 8
call fcn.00438330
mov ecx, esi
lea edi, [eax + 4]
call fcn.0043a250
push eax
mov ecx, esi
call fcn.004396d0
mov ecx, dword [edi]
push eax
push 0x4b2140
call ecx
add esp, 0xc
call fcn.00438330
mov ecx, esi
lea edi, [eax + 4]
call fcn.0043a280
push eax
mov ecx, esi
call fcn.004396e0
mov edx, dword [edi]
push eax
push 0x4b2110
call edx
add esp, 0xc
call fcn.00438330
mov ecx, esi
lea edi, [eax + 4]
call fcn.00439f70
push eax
mov eax, dword [edi]
push 0x4b2104
call eax
add esp, 8
call fcn.00438330
mov ecx, esi
lea edi, [eax + 4]
call fcn.00439fb0
mov ecx, dword [edi]
push eax
push 0x4b20f4
call ecx
add esp, 8
mov ecx, esi
call fcn.00439ff0
push eax
push 0x4b0fc4
lea edx, [esp + 0xc0]
push 0x200
push edx
call fcn.00437120
add esp, 0x10
cmp byte [esp + 0xb8], 0
jne 0x408e14
mov ecx, esi
call fcn.0043a520
push eax
call fcn.00407dd0
add esp, 4
test eax, eax
mov ecx, esi
je 0x408df4
call fcn.0043a520
push eax
mov ecx, esi
call fcn.00439f70
push eax
push str._s__dMHz
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.00437120
add esp, 0x14
jmp 0x408e14
call fcn.00439f70
push eax
push 0x4b0fc4
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.00437120
add esp, 0x10
mov ecx, esi
call fcn.00439f40
test eax, eax
je 0x408e39
push 0x4b20d0
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.00437060
add esp, 0xc
call fcn.00438330
mov edx, dword [eax + 4]
lea ecx, [esp + 0xb8]
push ecx
push 0x4b20bc
call edx
add esp, 8
call fcn.00438330
mov ecx, esi
lea edi, [eax + 4]
call fcn.00439950
push eax
mov eax, dword [edi]
push 0x4b20ac
call eax
add esp, 8
call fcn.00438330
mov ecx, esi
lea edi, [eax + 4]
call fcn.0043a1c0
push eax
mov ecx, esi
call fcn.0043a190
push eax
mov ecx, esi
call fcn.0043a160
mov ecx, dword [edi]
push eax
push 0x4b208c
call ecx
add esp, 0x10
mov ecx, esi
call fcn.0043a1f0
push eax
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x408ed3
call fcn.00438330
mov ecx, esi
lea edi, [eax + 4]
call fcn.0043a220
push eax
mov ecx, esi
call fcn.0043a1f0
mov edx, dword [edi]
push eax
push 0x4b206c
call edx
add esp, 0xc
mov ecx, esi
call fcn.0043a130
test eax, eax
jle 0x408efa
call fcn.00438330
mov ecx, esi
lea edi, [eax + 4]
call fcn.0043a130
push eax
mov eax, dword [edi]
push 0x4b205c
call eax
add esp, 8
call fcn.00438330
mov ecx, esi
lea edi, [eax + 4]
call fcn.0043a0b0
mov ecx, dword [edi]
push eax
push 0x4b2048
call ecx
add esp, 8
mov ecx, esi
call fcn.0043a0f0
fstp dword [esp + 0x1c]
fldz
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x408fab
fcom qword [0x4b1270]
fnstsw ax
test ah, 5
jp 0x408f6f
fmul qword [0x4b1268]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.004918a0
push eax
push str._d_nm
lea edx, [esp + 0xc0]
push 0x200
push edx
call fcn.00437120
add esp, 0x10
jmp 0x408f8f
sub esp, 8
fstp qword [esp]
push str._1.2f_um
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.00437120
add esp, 0x14
call fcn.00438330
mov edx, dword [eax + 4]
lea ecx, [esp + 0xb8]
push ecx
push 0x4b2038
call edx
add esp, 8
jmp 0x408fad
fstp st(0)
push 0
mov ecx, esi
call fcn.0043a3d0
fmul qword [0x4b2030]
mov ecx, esi
fstp dword [esp + 0x20]
call fcn.004395c0
push 0
fstp dword [esp + 0x1c]
mov ecx, esi
call fcn.0043a3f0
fstp dword [esp + 0x14]
fldz
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 5
jp 0x409126
call fcn.00438330
fld dword [esp + 0x20]
mov eax, dword [eax + 4]
sub esp, 8
fstp qword [esp]
push 0x4b2018
call eax
fld dword [esp + 0x2c]
add esp, 4
fstp qword [esp]
push 0x4b1228
lea ecx, [esp + 0xc4]
push 0x200
push ecx
call fcn.00437120
fldz
fld dword [esp + 0x28]
add esp, 0x14
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4090b9
fxch st(1)
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 5
jp 0x4090bb
fmul qword [0x4b1220]
call fcn.004918a0
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*4]
add edx, edx
sub ecx, edx
je 0x409093
call fcn.00438330
fld dword [esp + 0x18]
mov eax, dword [eax + 4]
sub esp, 0x10
fstp qword [esp + 8]
fld dword [esp + 0x24]
fstp qword [esp]
push 0x4b1ff0
call eax
add esp, 0x14
jmp 0x4090bd
call fcn.00438330
fld dword [esp + 0x18]
mov ecx, dword [eax + 4]
sub esp, 0x10
fstp qword [esp + 8]
fld dword [esp + 0x24]
fstp qword [esp]
push 0x4b1fc8
call ecx
add esp, 0x14
jmp 0x4090bd
fstp st(1)
fstp st(0)
mov ecx, esi
call fcn.0043a4b0
fstp dword [esp + 0x18]
fldz
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 5
jp 0x409126
mov ecx, esi
call fcn.00439f10
and eax, 0xffffff00
cmp eax, 0x2002000
je 0x40910a
cmp eax, 0x2004000
je 0x40910a
call fcn.00438330
fld dword [esp + 0x18]
mov edx, dword [eax + 4]
sub esp, 8
fstp qword [esp]
push 0x4b1fac
call edx
jmp 0x409123
call fcn.00438330
fld dword [esp + 0x18]
mov eax, dword [eax + 4]
sub esp, 8
fstp qword [esp]
push 0x4b1f90
call eax
add esp, 0xc
mov ecx, esi
call fcn.0043a520
push eax
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x409156
call fcn.00438330
mov ecx, esi
lea edi, [eax + 4]
call fcn.0043a520
mov ecx, dword [edi]
push eax
push 0x4b1f74
call ecx
add esp, 8
push 1
mov ecx, esi
call fcn.0043a2b0
test eax, eax
mov eax, 0x4b12e8
jne 0x40916d
mov eax, 0x4b12e5
push eax
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.00437120
add esp, 0xc
push 2
mov ecx, esi
call fcn.0043a2b0
test eax, eax
mov eax, 0x4b12e0
jne 0x40919a
mov eax, 0x4b12e5
push eax
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.00437060
add esp, 0xc
push 3
mov ecx, esi
call fcn.0043a2b0
test eax, eax
mov eax, str.__3DNow_
jne 0x4091c7
mov eax, 0x4b12e5
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.00437060
add esp, 0xc
push 4
mov ecx, esi
call fcn.0043a2b0
test eax, eax
mov eax, 0x4b12e0
jne 0x4091f4
mov eax, 0x4b12e5
push eax
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.00437060
add esp, 0xc
push 5
mov ecx, esi
call fcn.0043a2b0
test eax, eax
mov eax, str.__SSE
jne 0x409221
mov eax, 0x4b12e5
push eax
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.00437060
add esp, 0xc
push 6
mov ecx, esi
call fcn.0043a2b0
test eax, eax
mov eax, str.__SSE2
jne 0x40924e
mov eax, 0x4b12e5
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.00437060
add esp, 0xc
push 7
mov ecx, esi
call fcn.0043a2b0
test eax, eax
mov eax, str.__SSE3
jne 0x40927b
mov eax, 0x4b12e5
push eax
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.00437060
add esp, 0xc
push 8
mov ecx, esi
call fcn.0043a2b0
test eax, eax
mov eax, str.__SSSE3
jne 0x4092a8
mov eax, 0x4b12e5
push eax
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.00437060
add esp, 0xc
push 9
mov ecx, esi
call fcn.0043a2b0
test eax, eax
mov eax, str.__SSE4.1
jne 0x4092d5
mov eax, 0x4b12e5
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.00437060
add esp, 0xc
push 0xc
mov ecx, esi
call fcn.0043a2b0
test eax, eax
mov eax, str.__SSE4.2
jne 0x409302
mov eax, 0x4b12e5
push eax
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.00437060
add esp, 0xc
push 0xd
mov ecx, esi
call fcn.0043a2b0
test eax, eax
mov eax, str.__SSE4A
jne 0x40932f
mov eax, 0x4b12e5
push eax
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.00437060
add esp, 0xc
push 0xe
mov ecx, esi
call fcn.0043a2b0
test eax, eax
mov eax, str.__SSE5
jne 0x40935c
mov eax, 0x4b12e5
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.00437060
add esp, 0xc
mov ecx, esi
call fcn.00439f10
test eax, 0x1000000
push 0x10
mov ecx, esi
je 0x4093a7
call fcn.0043a2b0
test eax, eax
mov eax, str.__EM64T
jne 0x409397
mov eax, 0x4b12e5
push eax
push 0x200
lea edx, [esp + 0xc0]
push edx
jmp 0x4093c8
call fcn.0043a2b0
test eax, eax
mov eax, 0x4b1278
jne 0x4093ba
mov eax, 0x4b12e5
push eax
push 0x200
lea eax, [esp + 0xc0]
push eax
call fcn.00437060
add esp, 0xc
call fcn.00438330
mov edx, dword [eax + 4]
lea ecx, [esp + 0xb8]
push ecx
push 0x4b1f5c
call edx
add esp, 8
push 1
push 1
mov ecx, esi
call fcn.004398d0
push 2
push 1
mov ecx, esi
mov edi, eax
call fcn.004398d0
push 4
mov ebx, eax
push 1
mov ecx, esi
mov dword [esp + 0x20], ebx
call fcn.004398d0
push 1
push 2
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.004398d0
push 2
push 2
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.004398d0
push 3
push 2
mov ecx, esi
mov dword [esp + 0x24], eax
call fcn.004398d0
push 3
push 3
mov ecx, esi
mov dword [esp + 0x28], eax
call fcn.004398d0
test edi, edi
mov dword [esp + 0x2c], eax
jle 0x409570
push 1
push 1
mov ecx, esi
call fcn.00439880
mov ebx, eax
test ebx, ebx
je 0x40956c
mov eax, dword [ebx + 0xc]
push eax
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x40956c
cmp edi, 1
mov eax, dword [ebx + 0xc]
push eax
jle 0x4094aa
push edi
push str._d_x__d_KBytes
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.00437120
add esp, 0x14
jmp 0x4094c4
push str._d_KBytes
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.00437120
add esp, 0x10
mov eax, dword [ebx + 0x18]
cmp eax, 0xffffffff
je 0x409520
cmp eax, 1
je 0x40950b
cmp eax, 0xff
je 0x4094f6
mov edx, dword [ebx + 0x14]
push edx
push eax
push str.___d_
lea eax, [esp + 0x44]
push 0x80
push eax
call fcn.00437120
add esp, 0x14
jmp 0x40953b
mov ecx, dword [ebx + 0x14]
push ecx
push 0x4b1f08
push 0x80
lea edx, [esp + 0x44]
push edx
jmp 0x409533
mov eax, dword [ebx + 0x14]
push eax
push 0x4b1ee4
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x409533
mov edx, dword [ebx + 0x14]
push edx
push 0x4b1ed0
push 0x80
lea eax, [esp + 0x44]
push eax
call fcn.00437120
add esp, 0x10
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.00437060
call fcn.00438330
mov edx, dword [eax + 4]
lea ecx, [esp + 0xc4]
push ecx
push 0x4b1ebc
call edx
add esp, 0x14
mov ebx, dword [esp + 0x18]
test ebx, ebx
jle 0x40968e
push 2
push 1
mov ecx, esi
call fcn.00439880
mov edi, eax
test edi, edi
je 0x40974c
mov eax, dword [edi + 0xc]
push eax
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x40974c
cmp ebx, 1
mov eax, dword [edi + 0xc]
push eax
jle 0x4095c7
push ebx
push str._d_x__d_KBytes
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.00437120
add esp, 0x14
jmp 0x4095e1
push str._d_KBytes
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.00437120
add esp, 0x10
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x40963d
cmp eax, 1
je 0x409628
cmp eax, 0xff
je 0x409613
mov edx, dword [edi + 0x14]
push edx
push eax
push str.___d_
lea eax, [esp + 0x44]
push 0x80
push eax
call fcn.00437120
add esp, 0x14
jmp 0x409658
mov ecx, dword [edi + 0x14]
push ecx
push 0x4b1f08
push 0x80
lea edx, [esp + 0x44]
push edx
jmp 0x409650
mov eax, dword [edi + 0x14]
push eax
push 0x4b1ee4
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x409650
mov edx, dword [edi + 0x14]
push edx
push 0x4b1ed0
push 0x80
lea eax, [esp + 0x44]
push eax
call fcn.00437120
add esp, 0x10
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.00437060
call fcn.00438330
mov edx, dword [eax + 4]
lea ecx, [esp + 0xc4]
push ecx
push 0x4b1ea0
call edx
add esp, 0x14
jmp 0x40974c
cmp dword [esp + 0x28], 0
jle 0x40974c
push 4
push 1
mov ecx, esi
call fcn.00439880
mov edi, eax
test edi, edi
je 0x40974c
mov ebx, dword [edi + 0xc]
push ebx
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x40974c
mov eax, dword [esp + 0x28]
cmp eax, 1
push ebx
jle 0x4096e9
push eax
push str._d_x__d_Kuops
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.00437120
add esp, 0x14
jmp 0x409703
push str._d_Kuops
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.00437120
add esp, 0x10
mov edx, dword [edi + 0x18]
push edx
push 0x4b1e84
lea eax, [esp + 0x40]
push 0x80
push eax
call fcn.00437120
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0xcc]
push 0x200
push edx
call fcn.00437060
call fcn.00438330
mov edx, dword [eax + 4]
lea ecx, [esp + 0xd4]
push ecx
push 0x4b1e70
call edx
add esp, 0x24
cmp dword [esp + 0x1c], 0
jle 0x409869
push 2
push 2
mov ecx, esi
call fcn.00439880
mov edi, eax
test edi, edi
je 0x409869
mov ebx, dword [edi + 0xc]
push ebx
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x409869
mov eax, dword [esp + 0x1c]
cmp eax, 1
push ebx
jle 0x4097a7
push eax
push str._d_x__d_KBytes
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.00437120
add esp, 0x14
jmp 0x4097c1
push str._d_KBytes
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.00437120
add esp, 0x10
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x40981d
cmp eax, 1
je 0x409808
cmp eax, 0xff
je 0x4097f3
mov edx, dword [edi + 0x14]
push edx
push eax
push str.___d_
lea eax, [esp + 0x44]
push 0x80
push eax
call fcn.00437120
add esp, 0x14
jmp 0x409838
mov ecx, dword [edi + 0x14]
push ecx
push 0x4b1f08
push 0x80
lea edx, [esp + 0x44]
push edx
jmp 0x409830
mov eax, dword [edi + 0x14]
push eax
push 0x4b1ee4
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x409830
mov edx, dword [edi + 0x14]
push edx
push 0x4b1ed0
push 0x80
lea eax, [esp + 0x44]
push eax
call fcn.00437120
add esp, 0x10
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.00437060
call fcn.00438330
mov edx, dword [eax + 4]
lea ecx, [esp + 0xc4]
push ecx
push 0x4b1e54
call edx
add esp, 0x14
cmp dword [esp + 0x14], 0
jle 0x409988
push 1
push 2
mov ecx, esi
call fcn.00439880
mov edi, eax
test edi, edi
je 0x409988
mov ebx, dword [edi + 0xc]
push ebx
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x409988
cmp dword [esp + 0x14], 1
push ebx
jle 0x4098c6
mov eax, dword [esp + 0x18]
push eax
push str._d_x__d_KBytes
lea ecx, [esp + 0xc4]
push 0x200
push ecx
call fcn.00437120
add esp, 0x14
jmp 0x4098e0
push str._d_KBytes
lea edx, [esp + 0xc0]
push 0x200
push edx
call fcn.00437120
add esp, 0x10
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x40993c
cmp eax, 1
je 0x409927
cmp eax, 0xff
je 0x409912
mov ecx, dword [edi + 0x14]
push ecx
push eax
push str.___d_
lea edx, [esp + 0x44]
push 0x80
push edx
call fcn.00437120
add esp, 0x14
jmp 0x409957
mov eax, dword [edi + 0x14]
push eax
push 0x4b1f08
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x40994f
mov edx, dword [edi + 0x14]
push edx
push 0x4b1ee4
push 0x80
lea eax, [esp + 0x44]
push eax
jmp 0x40994f
mov ecx, dword [edi + 0x14]
push ecx
push 0x4b1ed0
push 0x80
lea edx, [esp + 0x44]
push edx
call fcn.00437120
add esp, 0x10
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.00437060
call fcn.00438330
mov eax, dword [eax + 4]
lea edx, [esp + 0xc4]
push edx
push 0x4b1e40
call eax
add esp, 0x14
cmp dword [esp + 0x20], 0
jle 0x409aa7
push 3
push 2
mov ecx, esi
call fcn.00439880
mov edi, eax
test edi, edi
je 0x409aa7
mov ebx, dword [edi + 0xc]
push ebx
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x409aa7
cmp dword [esp + 0x20], 1
push ebx
jle 0x4099e5
mov ecx, dword [esp + 0x24]
push ecx
push str._d_x__d_KBytes
lea edx, [esp + 0xc4]
push 0x200
push edx
call fcn.00437120
add esp, 0x14
jmp 0x4099ff
push str._d_KBytes
lea eax, [esp + 0xc0]
push 0x200
push eax
call fcn.00437120
add esp, 0x10
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x409a5b
cmp eax, 1
je 0x409a46
cmp eax, 0xff
je 0x409a31
mov ecx, dword [edi + 0x14]
push ecx
push eax
push str.___d_
lea edx, [esp + 0x44]
push 0x80
push edx
call fcn.00437120
add esp, 0x14
jmp 0x409a76
mov eax, dword [edi + 0x14]
push eax
push 0x4b1f08
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x409a6e
mov edx, dword [edi + 0x14]
push edx
push 0x4b1ee4
push 0x80
lea eax, [esp + 0x44]
push eax
jmp 0x409a6e
mov ecx, dword [edi + 0x14]
push ecx
push 0x4b1ed0
push 0x80
lea edx, [esp + 0x44]
push edx
call fcn.00437120
add esp, 0x10
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.00437060
call fcn.00438330
mov eax, dword [eax + 4]
lea edx, [esp + 0xc4]
push edx
push 0x4b1e30
call eax
add esp, 0x14
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jle 0x409c49
push 3
push 3
mov ecx, esi
call fcn.00439880
mov edi, eax
test edi, edi
je 0x409c49
mov esi, dword [edi + 0xc]
push esi
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x409c49
cmp ebx, 1
jle 0x409b47
cmp esi, 0x400
jl 0x409b29
mov ecx, esi
and ecx, 0x800003ff
jns 0x409afb
dec ecx
or ecx, 0xfffffc00
inc ecx
jne 0x409b29
mov eax, esi
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
push eax
push ebx
push str._d_x__d_MBytes
lea edx, [esp + 0xc4]
push 0x200
push edx
call fcn.00437120
add esp, 0x14
jmp 0x409ba1
push esi
push ebx
push str._d_x__d_KBytes
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.00437120
add esp, 0x14
jmp 0x409ba1
cmp esi, 0x400
jl 0x409b86
mov ecx, esi
and ecx, 0x800003ff
jns 0x409b61
dec ecx
or ecx, 0xfffffc00
inc ecx
jne 0x409b86
mov eax, esi
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
push eax
push str._d_MBytes
push 0x200
lea edx, [esp + 0xc4]
push edx
jmp 0x409b99
push esi
push str._d_KBytes
push 0x200
lea eax, [esp + 0xc4]
push eax
call fcn.00437120
add esp, 0x10
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x409bfd
cmp eax, 1
je 0x409be8
cmp eax, 0xff
je 0x409bd3
mov ecx, dword [edi + 0x14]
push ecx
push eax
push str.___d_
lea edx, [esp + 0x44]
push 0x80
push edx
call fcn.00437120
add esp, 0x14
jmp 0x409c18
mov eax, dword [edi + 0x14]
push eax
push 0x4b1f08
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x409c10
mov edx, dword [edi + 0x14]
push edx
push 0x4b1ee4
push 0x80
lea eax, [esp + 0x44]
push eax
jmp 0x409c10
mov ecx, dword [edi + 0x14]
push ecx
push 0x4b1ed0
push 0x80
lea edx, [esp + 0x44]
push edx
call fcn.00437120
add esp, 0x10
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.00437060
call fcn.00438330
mov eax, dword [eax + 4]
lea edx, [esp + 0xc4]
push edx
push 0x4b1e20
call eax
add esp, 0x14
mov eax, dword [esp + 0x24]
cmp dword [eax + 0xc4], 0
je 0x40a1a6
mov eax, dword [eax + 0xc4]
mov ecx, dword [eax + 0xc]
test ecx, ecx
mov edi, dword [eax + 0x14]
mov ebx, dword [eax + 0x18]
mov esi, dword [eax + 0x10]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
je 0x409ca1
call fcn.00438330
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 4]
lea edx, [ecx + 0x88]
push edx
lea edx, [ecx + 0x48]
push edx
add ecx, 8
push ecx
push 0x4b1e04
call eax
add esp, 0x10
test esi, esi
je 0x409cc6
call fcn.00438330
mov eax, dword [eax + 4]
lea ecx, [esi + 0x88]
push ecx
lea edx, [esi + 0x48]
push edx
add esi, 8
push esi
push 0x4b1de8
call eax
add esp, 0x10
call fcn.00438330
cmp dword [eax + 0x34], 0
je 0x409e77
push 0xc
call fcn.00482367
add esp, 4
test eax, eax
je 0x409cee
mov ecx, eax
call fcn.00403e00
mov ebx, eax
jmp 0x409cf0
xor ebx, ebx
call fcn.00438330
mov eax, dword [eax + 0x34]
push ebx
push 0
push 3
mov ecx, eax
call fcn.0043f430
test eax, eax
je 0x409e65
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], 0
call fcn.00403e40
test eax, eax
je 0x409e65
lea esp, [esp]
push eax
call fcn.00403e20
mov eax, dword [eax + 0x18]
add esp, 4
test eax, eax
je 0x409d82
mov edi, dword [eax + 4]
test edi, edi
je 0x409d82
mov esi, dword [edi + 4]
test esi, esi
je 0x409d82
mov edi, edi
push 2
mov ecx, esi
call fcn.0043d770
test eax, eax
jne 0x409d94
push 0x10
mov ecx, esi
call fcn.0043d770
test eax, eax
jne 0x409e21
test edi, edi
je 0x409d82
mov eax, dword [edi + 8]
test eax, eax
je 0x409d82
mov esi, dword [eax + 4]
test esi, esi
mov edi, eax
jne 0x409d50
lea ecx, [esp + 0x2c]
call fcn.00403e60
test eax, eax
jne 0x409d30
jmp 0x409e61
push esi
call fcn.00403e20
mov esi, eax
add esp, 4
cmp dword [esi + 0x54], 0
je 0x409e61
call fcn.00438330
mov ecx, dword [eax + 4]
push 0x4b1dd0
call ecx
movzx edi, byte [esi + 0x58]
call fcn.00438330
mov eax, dword [eax + 4]
mov edx, edi
and edx, 0xf
push edx
shr edi, 4
push edi
push 0x4b1db8
call eax
call fcn.00438330
mov ecx, dword [esi + 0x48]
mov edx, dword [eax + 4]
push ecx
push 0x4b1da0
call edx
add esp, 0x18
cmp dword [esi + 0x34], 0
mov edi, 0x4b0fd4
jne 0x409dfb
mov edi, 0x4b1d94
cmp dword [esi + 0x30], 0
mov esi, 0x4b1d88
jne 0x409e0b
mov esi, 0x4b0fe0
call fcn.00438330
mov eax, dword [eax + 4]
push edi
push esi
push 0x4b1d64
call eax
add esp, 0xc
jmp 0x409e61
push esi
call fcn.00403e20
mov esi, eax
call fcn.00438330
mov ecx, dword [eax + 4]
push 0x4b1d44
call ecx
call fcn.00438330
mov edx, dword [esi + 0x1c]
mov eax, dword [eax + 4]
push edx
push 0x4b1d2c
call eax
call fcn.00438330
mov ecx, dword [esi + 0x18]
mov edx, dword [eax + 4]
push ecx
push 0x4b1d10
call edx
add esp, 0x18
mov edi, dword [esp + 0x18]
test ebx, ebx
je 0x409e73
mov eax, dword [ebx]
mov edx, dword [eax]
push 1
mov ecx, ebx
call edx
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x409ea1
mov eax, dword [ebx + 0xc]
push eax
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x409ea1
call fcn.00438330
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax + 4]
push ecx
push 0x4b1cf4
call edx
add esp, 8
test edi, edi
je 0x40a1a6
mov byte [esp + 0xb8], 0
mov eax, dword [edi + 4]
add eax, 0xfffffffe
cmp eax, 7
ja case.default.0x409ec0
jmp dword [eax*4 + 0x40a3e8]
push 0x4b1cf0
push 0x200
lea eax, [esp + 0xc0]
push eax
jmp 0x409f4b
push 0x4b1cec
jmp 0x409f3e
push str.SDRAM
push 0x200
lea edx, [esp + 0xc0]
push edx
jmp 0x409f4b
push str.RDRAM
push 0x200
lea eax, [esp + 0xc0]
push eax
jmp 0x409f4b
push 0x4b1cd8
jmp 0x409f3e
push str.DDR2
push 0x200
lea edx, [esp + 0xc0]
push edx
jmp 0x409f4b
push str.DDR3
push 0x200
lea eax, [esp + 0xc0]
push eax
jmp 0x409f4b
push str.FB_DDR2
push 0x200
lea ecx, [esp + 0xc0]
push ecx
call fcn.00437120
add esp, 0xc
call fcn.00438330
mov eax, dword [eax + 4]
lea edx, [esp + 0xb8]
push edx
push 0x4b1cac
call eax
call fcn.00438330
mov ecx, dword [edi + 8]
mov edx, dword [eax + 4]
push ecx
push 0x4b1c94
call edx
fldz
fcomp dword [edi + 0x40]
add esp, 0x10
fnstsw ax
test ah, 5
jp 0x409fab
call fcn.00438330
fld dword [edi + 0x40]
mov edx, dword [eax + 4]
lea ecx, [edi + 0x78]
push ecx
sub esp, 8
fstp qword [esp]
push 0x4b1c74
call edx
add esp, 0x10
mov esi, dword [edi + 0x4c]
push esi
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x40a010
test esi, esi
jne 0x409fdb
push 0x4b1c6c
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.00437120
add esp, 0xc
jmp 0x409ff6
push esi
push 0x4b1c64
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.00437120
add esp, 0x10
call fcn.00438330
mov eax, dword [eax + 4]
lea edx, [esp + 0xb8]
push edx
push 0x4b1c50
call eax
add esp, 8
fldz
fcomp dword [edi + 0x18]
fnstsw ax
test ah, 5
jp 0x40a037
call fcn.00438330
fld dword [edi + 0x18]
mov ecx, dword [eax + 4]
sub esp, 8
fstp qword [esp]
push 0x4b1c30
call ecx
add esp, 0xc
mov edx, dword [edi + 0x1c]
push edx
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x40a05d
call fcn.00438330
mov ecx, dword [edi + 0x1c]
mov edx, dword [eax + 4]
push ecx
push 0x4b1c10
call edx
add esp, 8
mov eax, dword [edi + 0x20]
push eax
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x40a083
call fcn.00438330
mov ecx, dword [edi + 0x20]
mov edx, dword [eax + 4]
push ecx
push 0x4b1bf0
call edx
add esp, 8
mov eax, dword [edi + 0x24]
push eax
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x40a0a9
call fcn.00438330
mov ecx, dword [edi + 0x24]
mov edx, dword [eax + 4]
push ecx
push 0x4b1bd0
call edx
add esp, 8
mov eax, dword [edi + 0x28]
push eax
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x40a0cf
call fcn.00438330
mov ecx, dword [edi + 0x28]
mov edx, dword [eax + 4]
push ecx
push 0x4b1bac
call edx
add esp, 8
mov eax, dword [edi + 0x38]
push eax
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x40a0f5
call fcn.00438330
mov ecx, dword [edi + 0x38]
mov edx, dword [eax + 4]
push ecx
push 0x4b1b90
call edx
add esp, 8
mov eax, dword [edi + 0x3c]
push eax
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x40a11b
call fcn.00438330
mov ecx, dword [edi + 0x3c]
mov edx, dword [eax + 4]
push ecx
push 0x4b1b78
call edx
add esp, 8
mov eax, dword [edi + 0x34]
push eax
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x40a141
call fcn.00438330
mov ecx, dword [edi + 0x34]
mov edx, dword [eax + 4]
push ecx
push 0x4b1b60
call edx
add esp, 8
mov eax, dword [edi + 0x30]
push eax
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x40a167
call fcn.00438330
mov ecx, dword [edi + 0x30]
mov edx, dword [eax + 4]
push ecx
push 0x4b1b44
call edx
add esp, 8
cmp dword [esp + 0x14], 0
je 0x40a1a6
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0xa4]
push esi
call fcn.00407dd0
add esp, 4
test eax, eax
je 0x40a1a6
test esi, esi
mov esi, 0x4b0fd4
jne 0x40a193
mov esi, 0x4b0fc8
call fcn.00438330
mov ecx, dword [eax + 4]
push esi
push 0x4b1b2c
call ecx
add esp, 8
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0xd0]
test ecx, ecx
je 0x40a2fc
push 1
call fcn.00480040
test eax, eax
je 0x40a228
push eax
call fcn.00403e20
mov esi, eax
mov eax, dword [esi + 8]
add esp, 4
cmp byte [eax], 0
je 0x40a1ec
call fcn.00438330
mov ecx, dword [esi + 8]
mov edx, dword [eax + 4]
push ecx
push 0x4b1b14
call edx
add esp, 8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0
je 0x40a20a
call fcn.00438330
mov ecx, dword [esi + 0xc]
mov edx, dword [eax + 4]
push ecx
push 0x4b1b00
call edx
add esp, 8
mov eax, dword [esi + 0x14]
cmp byte [eax], 0
je 0x40a228
call fcn.00438330
mov ecx, dword [esi + 0x14]
mov edx, dword [eax + 4]
push ecx
push 0x4b1af0
call edx
add esp, 8
mov edi, dword [esp + 0x24]
mov ecx, dword [edi + 0xd0]
push 2
call fcn.00480040
test eax, eax
je 0x40a284
push eax
call fcn.00403e20
mov esi, eax
mov eax, dword [esi + 8]
add esp, 4
cmp byte [eax], 0
je 0x40a266
call fcn.00438330
mov ecx, dword [esi + 8]
mov edx, dword [eax + 4]
push ecx
push 0x4b1ad8
call edx
add esp, 8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0
je 0x40a284
call fcn.00438330
mov ecx, dword [esi + 0xc]
mov edx, dword [eax + 4]
push ecx
push 0x4b1ac0
call edx
add esp, 8
mov ecx, dword [edi + 0xd0]
push 0
call fcn.00480040
test eax, eax
je 0x40a2fe
push eax
call fcn.00403e20
mov esi, eax
mov eax, dword [esi + 8]
add esp, 4
cmp byte [eax], 0
je 0x40a2be
call fcn.00438330
mov ecx, dword [esi + 8]
mov edx, dword [eax + 4]
push ecx
push 0x4b1aac
call edx
add esp, 8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0
je 0x40a2dc
call fcn.00438330
mov ecx, dword [esi + 0xc]
mov edx, dword [eax + 4]
push ecx
push 0x4b1a98
call edx
add esp, 8
mov eax, dword [esi + 0x10]
cmp byte [eax], 0
je 0x40a2fe
call fcn.00438330
mov ecx, dword [esi + 0x10]
mov edx, dword [eax + 4]
push ecx
push 0x4b1a88
call edx
add esp, 8
jmp 0x40a2fe
mov edi, edx
mov eax, dword [edi + 0xcc]
test eax, eax
je 0x40a36c
xor edi, edi
cmp dword [eax + 4], edi
jle 0x40a36c
mov dword [esp + 0x14], edi
mov esi, dword [eax + 8]
add esi, dword [esp + 0x14]
cmp byte [esi + 0x60], 0
lea ebx, [esi + 0x60]
jne 0x40a328
mov ebx, 0x4b1a78
add edi, 1
call fcn.00438330
mov ecx, dword [esi + 0x180]
mov edx, dword [esi + 0x1cc]
push ebx
push ecx
push edx
mov edx, dword [eax + 4]
lea ecx, [esi + 0x38]
push ecx
add esi, 0x18
push esi
push edi
push 0x4b1a4c
call edx
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0xcc]
add dword [esp + 0x30], 0x224
add esp, 0x1c
cmp edi, dword [eax + 4]
jl 0x40a313
mov ebx, dword [esp + 0x24]
cmp dword [ebx + 0xb4], 0
je 0x40a3ba
mov eax, dword [ebx + 0xb4]
mov esi, dword [eax + 0x20]
mov edi, dword [eax + 0x1c]
call fcn.00438330
mov ecx, dword [eax + 4]
push esi
push edi
push 0x4b1a34
call ecx
mov eax, dword [ebx + 0xb4]
lea esi, [eax + 0x40]
add esp, 0xc
cmp byte [esi], 0
je 0x40a3ba
call fcn.00438330
mov edx, dword [eax + 4]
push esi
push 0x4b187c
call edx
add esp, 8
mov ecx, dword [ebx + 0xb8]
call fcn.00421eb0
call fcn.00438330
mov ecx, eax
call fcn.00436c70
mov ecx, dword [esp + 0x2bc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00490dce
mov esp, ebp
pop ebp
ret