Function at 0x5def30
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x622a6d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe4
push ebp
mov ebp, ecx
call fcn.005214db
mov eax, dword [esp + 0xf8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 8]
test ecx, ecx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
je 0x5dff52
test eax, eax
je 0x5dff52
mov ecx, dword [ebp + 0xb8]
call fcn.005dced0
test al, al
jne 0x5defac
pop ebp
mov ecx, dword [esp + 0xe4]
mov dword fs:[0], ecx
add esp, 0xf0
ret 8
cmp byte [ebp + 0xd4], 0
push ebx
push esi
push edi
jne 0x5df17b
mov esi, dword [ebp + 0xb8]
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x14], eax
cmp eax, ecx
mov dword [esp + 0x1c], ecx
lea eax, [esp + 0x14]
jl 0x5defe0
lea eax, [esp + 0x1c]
mov edi, dword [eax]
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x14], eax
cmp eax, ecx
mov dword [esp + 0x1c], ecx
lea eax, [esp + 0x14]
jl 0x5df000
lea eax, [esp + 0x1c]
mov ebx, dword [eax]
xor eax, eax
cmp dword [esi + 0x18], eax
je 0x5df099
cmp dword [ebp + 0xc8], edi
jne 0x5df01d
cmp dword [ebp + 0xcc], ebx
je 0x5df042
mov ecx, dword [ebp + 0xc4]
cmp ecx, eax
je 0x5df030
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
xor eax, eax
mov dword [ebp + 0xc4], eax
mov dword [ebp + 0xc8], eax
mov dword [ebp + 0xcc], eax
cmp dword [ebp + 0xc4], eax
lea ecx, [ebp + 0xc4]
je 0x5df064
cmp dword [ebp + 0xc8], edi
jne 0x5df064
cmp dword [ebp + 0xcc], ebx
je 0x5df172
call fcn.005ddeb0
mov ecx, dword [ebp + 0x9c]
push eax
movzx eax, byte [ebp + 0xe4]
push eax
push ebx
push edi
push ecx
mov ecx, dword [ebp + 0xb8]
call fcn.005dc8b0
test al, al
je 0x5df2ef
mov dword [ebp + 0xcc], ebx
jmp 0x5df16c
lea edx, [edi + 0x80]
cmp dword [ebp + 0xc8], edx
jge 0x5df0b5
lea ecx, [ebx + 0x80]
cmp dword [ebp + 0xcc], ecx
jl 0x5df0da
mov ecx, dword [ebp + 0xc4]
cmp ecx, eax
je 0x5df0c8
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov dword [ebp + 0xc4], eax
mov dword [ebp + 0xc8], eax
mov dword [ebp + 0xcc], eax
cmp dword [ebp + 0xc4], eax
lea ecx, [ebp + 0xc4]
je 0x5df0f8
cmp dword [ebp + 0xc8], edi
jl 0x5df0f8
cmp dword [ebp + 0xcc], ebx
jge 0x5df172
mov edx, dword [esi + 0x1d4]
lea eax, [edi + 0x7f]
and eax, 0xffffff80
mov dword [esp + 0x1c], eax
cmp edx, eax
mov dword [esp + 0x14], edx
lea eax, [esp + 0x14]
jl 0x5df118
lea eax, [esp + 0x1c]
mov edi, dword [eax]
mov esi, dword [esi + 0x1d8]
lea eax, [ebx + 0x7f]
and eax, 0xffffff80
mov dword [esp + 0x1c], eax
cmp esi, eax
mov dword [esp + 0x14], esi
lea eax, [esp + 0x14]
jl 0x5df13a
lea eax, [esp + 0x1c]
mov esi, dword [eax]
call fcn.005ddeb0
movzx ecx, byte [ebp + 0xe4]
mov edx, dword [ebp + 0x9c]
push eax
push ecx
mov ecx, dword [ebp + 0xb8]
push esi
push edi
push edx
call fcn.005dc8b0
test al, al
je 0x5df2ef
mov dword [ebp + 0xcc], esi
mov dword [ebp + 0xc8], edi
cmp byte [ebp + 0xd4], 0
je 0x5df199
mov ecx, dword [ebp + 0xb8]
mov eax, dword [ecx + 0x19c]
mov ecx, dword [ecx + 0x1a0]
mov edx, eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
jmp 0x5df1a9
mov eax, dword [ebp + 0xc8]
mov ecx, dword [ebp + 0xcc]
mov edx, dword [esp + 0x44]
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x28], eax
cmp eax, edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edx
lea eax, [esp + 0x28]
jl 0x5df1c5
lea eax, [esp + 0x14]
mov edx, dword [eax]
mov esi, dword [esp + 0x48]
cmp ecx, esi
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], esi
lea eax, [esp + 0x20]
jl 0x5df1df
lea eax, [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
mov dword [esp + 0x68], eax
lea eax, [esp + 0x64]
push eax
push 0
mov ecx, ebp
mov dword [esp + 0x6c], edx
call fcn.005de6c0
mov ecx, dword [ebp + 0xc0]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0
call eax
mov ecx, dword [eax]
lea edx, [esp + 0xd4]
push edx
push 0
push eax
mov eax, dword [ecx + 0x44]
call eax
test eax, eax
jl 0x5df2ef
mov eax, dword [ebp + 0x104]
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x5df23a
mov dword [esp + 0x1c], 3
mov eax, dword [ebp + 0xbc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xe4]
push 0xf
push 0xa8
push eax
call edx
test eax, eax
jl 0x5dfaa2
mov eax, dword [ebp + 0xbc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xe4]
push 0
push 0xc2
push eax
call edx
test eax, eax
jl 0x5dfaa2
cmp dword [ebp + 0x3c], 0
mov ecx, dword [ebp + 0xb8]
je 0x5df30c
mov eax, dword [ebp + 0xc4]
push eax
call fcn.005dbaa0
fldz
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xbc]
push 0
mov dword [esp + 0x34], edx
mov edx, dword [ebp + 0x3c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], esi
mov ecx, dword [eax]
push ecx
fstp dword [esp]
push edx
push 1
lea edx, [esp + 0x3c]
push edx
push 1
push eax
mov eax, dword [ecx + 0xac]
call eax
mov ecx, dword [ebp + 0xb8]
push 0
mov esi, eax
call fcn.005dbaa0
test esi, esi
jge 0x5dfa75
xor al, al
pop edi
pop esi
pop ebx
pop ebp
mov ecx, dword [esp + 0xe4]
mov dword fs:[0], ecx
add esp, 0xf0
ret 8
mov ecx, dword [ecx + 0x4c]
mov eax, dword [ebp + 0xbc]
mov edx, dword [eax]
push 0x20
push 0
push ecx
push 0
push eax
mov eax, dword [edx + 0x190]
call eax
test eax, eax
jl 0x5dfaa2
mov ecx, dword [ebp + 0xb8]
mov eax, dword [ebp + 0xbc]
mov ecx, dword [ecx + 0x50]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0x1a0]
call eax
test eax, eax
jl 0x5dfaa2
mov eax, dword [ebp + 0xbc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x164]
push 0x242
push eax
call edx
test eax, eax
jl 0x5dfaa2
mov eax, dword [ebp + 0xbc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xe4]
push 0
push 0x89
push eax
call edx
test eax, eax
jl 0x5dfaa2
mov eax, dword [ebp + 0xbc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xe4]
push 1
push 0x16
push eax
call edx
test eax, eax
jl 0x5dfaa2
mov eax, dword [ebp + 0xbc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xe4]
push 0
push 7
push eax
call edx
test eax, eax
jl 0x5dfaa2
mov eax, dword [ebp + 0xbc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xe4]
push 0
push 0xf
push eax
call edx
test eax, eax
jl 0x5dfaa2
mov eax, dword [ebp + 0xbc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xe4]
push 0
push 0x1b
push eax
call edx
test eax, eax
jl 0x5dfaa2
mov eax, dword [ebp + 0xbc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xe4]
push 0
push 0x34
push eax
call edx
test eax, eax
jl 0x5dfaa2
mov eax, dword [ebp + 0xbc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xe4]
push 1
push 0xab
push eax
call edx
test eax, eax
jl 0x5dfaa2
cmp byte [ebp + 6], 0
mov edx, dword [esp + 0x34]
mov eax, edi
mov edi, dword [esp + 0x38]
lea esi, [esp + 0x94]
mov dword [esp + 0x54], eax
mov dword [esp + 0x5c], edx
je 0x5df4bc
mov ecx, dword [ebp + 0x28]
test ecx, ecx
jle 0x5df46d
mov eax, ecx
mov dword [esp + 0x54], eax
mov ecx, dword [ebp + 0x2c]
cmp ebx, ecx
jge 0x5df476
mov ebx, ecx
mov ecx, dword [ebp + 0x30]
cmp dword [esp + 0x5c], ecx
jle 0x5df487
mov edx, ecx
mov dword [esp + 0x5c], edx
jmp 0x5df48b
mov edx, dword [esp + 0x5c]
mov ecx, dword [ebp + 0x34]
cmp edi, ecx
jle 0x5df494
mov edi, ecx
mov ecx, dword [esp + 0x34]
cmp eax, ecx
jle 0x5df4a2
mov eax, ecx
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x38]
cmp ebx, ecx
jle 0x5df4ac
mov ebx, ecx
cmp edx, eax
jge 0x5df4b6
mov edx, eax
mov dword [esp + 0x5c], edx
cmp edi, ebx
jge 0x5df4bc
mov edi, ebx
cmp edx, eax
jle 0x5dfefa
cmp edi, ebx
jle 0x5dfefa
test ebx, ebx
jle 0x5df4fb
xor ecx, ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], ebx
lea esi, [esp + 0xa4]
jmp 0x5df4ff
mov ecx, dword [esp + 0x34]
test eax, eax
jle 0x5df515
mov dword [esi], 0
mov dword [esi + 4], ebx
mov dword [esi + 8], eax
mov dword [esi + 0xc], edi
add esi, 0x10
cmp edx, ecx
jge 0x5df527
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edi
add esi, 0x10
mov eax, dword [esp + 0x38]
cmp edi, eax
jge 0x5df541
mov dword [esi], 0
mov dword [esi + 4], edi
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
add esi, 0x10
lea eax, [esp + 0x94]
cmp esi, eax
jbe 0x5df593
mov eax, dword [ebp + 0xc4]
mov ecx, dword [ebp + 0xb8]
push eax
call fcn.005dbaa0
fldz
mov eax, dword [ebp + 0xbc]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x38]
push 0
push ecx
fstp dword [esp]
push edx
lea edx, [esp + 0xa0]
push 1
sub esi, edx
push edx
sar esi, 4
push esi
push eax
mov eax, dword [ecx + 0xac]
call eax
test eax, eax
jl 0x5df2ef
xor eax, eax
mov dword [esp + 0x10], eax
mov ecx, dword [ebp + 0xc4]
cmp ecx, eax
mov dword [esp + 0xfc], eax
je 0x5df5f9
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov esi, dword [eax]
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], eax
add esi, 0x14
call fcn.0058dbc0
mov ecx, dword [esp + 0x28]
mov edx, dword [esi]
push eax
push 0
push 0
push ecx
call edx
test eax, eax
jge 0x5df62b
mov eax, dword [esp + 0x10]
test eax, eax
mov dword [esp + 0xfc], 0xffffffff
je 0x5df2ef
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x5df2ef
mov ecx, dword [ebp + 0xb8]
push 0
call fcn.005dbaa0
mov eax, dword [ebp + 0xbc]
mov esi, dword [eax]
lea ecx, [esp + 0x10]
add esi, 0x98
call fcn.0058dbc0
mov ecx, dword [ebp + 0xbc]
mov edx, dword [esi]
push eax
push 0
push ecx
call edx
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0xbc]
push edx
mov byte [ebp + 0xd2], 0
mov ecx, dword [eax]
push 0
push eax
mov eax, dword [ecx + 0x94]
call eax
test eax, eax
jl 0x5dfed4
mov ecx, dword [ebp + 0xb8]
call fcn.005db840
test al, al
je 0x5dfed4
mov ecx, dword [esp + 0x54]
fldz
mov eax, dword [esp + 0x5c]
fstp dword [esp + 0x8c]
fld1
sub eax, ecx
mov dword [esp + 0x84], eax
fstp dword [esp + 0x90]
mov eax, dword [ebp + 0xbc]
lea edx, [esp + 0x7c]
sub edi, ebx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x88], edi
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0xbc]
call eax
test eax, eax
jl 0x5dfed4
mov ecx, dword [ebp + 0xb8]
push 4
call fcn.005db6b0
mov esi, eax
test esi, esi
je 0x5df82f
fild dword [ebp + 0x118]
mov eax, dword [esp + 0x44]
cdq
idiv dword [esp + 0x34]
fidiv dword [esp + 0xec]
sub esp, 0x10
mov ecx, esi
fstp dword [esp + 0x30]
fild dword [ebp + 0x11c]
fidiv dword [esp + 0x100]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x58]
cdq
idiv dword [esp + 0x48]
fstp dword [esp + 0x38]
fild dword [esp + 0x44]
fld1
fld st(0)
fdivrp st(2)
fld dword [0x62ee94]
fsubrp st(2)
fxch st(1)
fst dword [esp + 0x60]
fild dword [esp + 0x28]
mov dword [esp + 0x28], eax
fld dword [0x62e818]
fmul st(1), st(0)
fxch st(1)
fadd st(2)
fstp dword [esp + 0x34]
fild dword [esp + 0x48]
fdivr st(3)
faddp st(3)
fxch st(2)
fst dword [esp + 0x5c]
fild dword [esp + 0x28]
fmulp st(3)
fld st(0)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x28]
fldz
fst dword [esp + 0xc]
fst dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
push 0
fxch st(1)
sub esp, 8
fstp dword [esp + 4]
fstp dword [esp]
call fcn.005ddb50
fld1
sub esp, 0x10
fstp dword [esp + 0xc]
lea ecx, [esi + 0x20]
fldz
fst dword [esp + 8]
fld dword [esp + 0x38]
fstp dword [esp + 4]
fstp dword [esp]
push 0
fld dword [esp + 0x2c]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x6c]
fstp dword [esp]
call fcn.005ddb50
fldz
sub esp, 0x10
fst dword [esp + 0xc]
fld1
fstp dword [esp + 8]
fstp dword [esp + 4]
fld dword [esp + 0x30]
fstp dword [esp]
push 0
fld dword [esp + 0x60]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x40]
lea ecx, [esi + 0x40]
fstp dword [esp]
call fcn.005ddb50
fld1
sub esp, 0x10
fst dword [esp + 0xc]
fstp dword [esp + 8]
lea ecx, [esi + 0x60]
fld dword [esp + 0x38]
fstp dword [esp + 4]
fld dword [esp + 0x30]
fstp dword [esp]
fld dword [esp + 0x28]
push 0
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x40]
fstp dword [esp]
call fcn.005ddb50
mov ecx, dword [ebp + 0xb8]
call fcn.005db760
mov ecx, dword [ebp + 0xb8]
push 6
call fcn.005db780
test eax, eax
mov ecx, 2
je 0x5df870
mov edx, 1
mov word [eax], 0
mov word [eax + 2], dx
mov word [eax + 4], cx
mov word [eax + 6], cx
mov word [eax + 8], dx
mov word [eax + 0xa], 3
mov ecx, dword [ebp + 0xb8]
call fcn.005db820
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x80]
push ecx
mov ecx, ebp
call fcn.005de220
mov edx, dword [esp + 0x1c]
mov esi, dword [ebp + edx*4 + 0x274]
mov eax, dword [ebp + 0x108]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xe8]
push esi
push eax
mov dword [esp + 0x54], esi
call edx
test eax, eax
jl 0x5dfed4
mov eax, dword [ebp + 0x108]
mov ecx, dword [eax]
push 0
lea edx, [esp + 0x18]
push edx
push eax
mov eax, dword [ecx + 0xfc]
call eax
test eax, eax
mov eax, dword [esp + 0x10]
jl 0x5dfed8
xor ecx, ecx
cmp dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], ecx
ja 0x5dfab4
mov eax, dword [ebp + 0x108]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10c]
push eax
call edx
test eax, eax
jl 0x5dfed4
cmp byte [ebp + 4], 0
je 0x5dfa47
cmp dword [ebp + 0x2e8], 0
je 0x5dfa47
add dword [ebp + 0x23c], 1
test byte [ebp + 0x23c], 0x3f
jne 0x5df96a
fld dword [ebp + 0x244]
sub esp, 0x10
fld dword [0x683ed8]
lea eax, [ebp + 0x230]
fmul st(1), st(0)
fxch st(1)
fstp qword [esp + 8]
fmul dword [ebp + 0x240]
fstp qword [esp]
push str.Longest_present:__4.2fms__Longest_frame:__4.2fms
push eax
call fcn.0051901f
fldz
fst dword [ebp + 0x240]
add esp, 0x18
fstp dword [ebp + 0x244]
mov ecx, dword [ebp + 0x2e8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
test al, al
je 0x5dfa47
mov esi, 0x6575c8
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
lea ecx, [esp + 0x70]
push ecx
lea edx, [ebp + 0x110]
push edx
mov byte [esp + 0x104], 6
call fcn.00586260
mov eax, dword [esp + 0x78]
push eax
lea ecx, [esp + 0x60]
push str.D3DFX_minidriver____s
push ecx
call fcn.0051901f
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x5c]
mov ecx, dword [ebp + 0x2e8]
mov edx, dword [ecx]
mov edx, dword [edx + 0x14]
add esp, 0x14
push eax
push 0
push 0xffffff00
lea eax, [edi - 0x28]
push eax
push 0xa
call edx
mov eax, dword [ebp + 0x230]
mov ecx, dword [ebp + 0x2e8]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x14]
push 0
push 0xffffff00
add edi, 0xffffffec
push edi
push 0xa
call eax
mov ecx, dword [ebp + 0x2e8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
mov eax, dword [esp + 0x70]
cmp eax, esi
je 0x5dfa2e
push eax
call fcn.005f7371
add esp, 4
mov eax, dword [esp + 0x54]
cmp eax, esi
mov byte [esp + 0xfc], 0
je 0x5dfa47
push eax
call fcn.005f7371
add esp, 4
mov ecx, dword [ebp + 0xb8]
call fcn.005db870
test al, al
mov eax, dword [esp + 0x10]
mov dword [esp + 0xfc], 0xffffffff
je 0x5dfee3
test eax, eax
je 0x5dfa75
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [ebp + 0xb8]
call fcn.005db8a0
mov ecx, dword [ebp + 0xb8]
push 0
call fcn.005dbaa0
mov byte [ebp + 0xd2], 1
mov byte [ebp + 0xd0], 1
mov byte [ebp + 0xd1], 0
mov al, 1
jmp 0x5df2f1
mov esi, dword [esp + 0x4c]
mov eax, dword [ebp + 0x108]
mov edx, dword [eax]
push ecx
push esi
push eax
mov eax, dword [edx + 0x38]
call eax
mov esi, eax
mov eax, dword [ebp + 0x108]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
push str.vd_fieldmask
push esi
push eax
mov dword [esp + 0x70], esi
call edx
xor ebx, ebx
cmp eax, ebx
je 0x5dfb10
mov ecx, dword [ebp + 0x108]
mov edx, dword [ecx]
lea edi, [esp + 0x50]
push edi
push eax
mov eax, dword [edx + 0x6c]
push ecx
call eax
test eax, eax
jl 0x5dfb10
mov eax, dword [esp + 0x108]
and eax, 3
test dword [esp + 0x50], eax
je 0x5dfea2
mov dword [esp + 0x24], ebx
mov eax, dword [ebp + 0x108]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
push str.vd_target
push esi
push eax
mov byte [esp + 0x108], 1
call edx
cmp eax, ebx
je 0x5dfd4e
mov ecx, dword [ebp + 0x108]
mov edx, dword [ecx]
lea esi, [esp + 0x6c]
push esi
push eax
mov eax, dword [edx + 0xcc]
push ecx
call eax
test eax, eax
jl 0x5dfd4e
mov edx, dword [esp + 0x6c]
test edx, edx
je 0x5dfd4e
mov edi, str.temp
mov esi, edx
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x5dfb80
mov ebx, dword [ebp + 0xf4]
jmp 0x5dfd00
mov edi, str.temp2
mov esi, edx
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x5dfb9d
mov ebx, dword [ebp + 0x100]
jmp 0x5dfd00
cmp byte [edx], 0
jne 0x5dfbab
mov ebx, dword [esp + 0x10]
jmp 0x5dfd00
mov eax, dword [ebp + 0x108]
mov ecx, dword [eax]
push edx
mov edx, dword [ecx + 0x24]
push 0
push eax
call edx
mov edi, eax
mov dword [esp + 0x18], 0
mov eax, dword [ebp + 0x108]
mov esi, dword [eax]
lea ecx, [esp + 0x18]
mov byte [esp + 0xfc], 2
add esi, 0xd4
call fcn.0058dbc0
mov ecx, dword [ebp + 0x108]
mov edx, dword [esi]
push eax
push edi
push ecx
call edx
test eax, eax
mov eax, dword [esp + 0x18]
jl 0x5dfcec
test eax, eax
je 0x5dfcec
mov ecx, dword [eax]
mov edx, dword [ecx + 0x28]
push eax
call edx
sub eax, 3
je 0x5dfc80
sub eax, 2
jne 0x5dfce4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
mov edi, dword [eax]
lea ecx, [esp + 0x20]
mov byte [esp + 0xfc], 4
mov esi, eax
call fcn.0058dbc0
push eax
mov eax, dword [edi]
push 0x683a18
push esi
call eax
test eax, eax
jl 0x5dfc66
mov eax, dword [esp + 0x20]
mov esi, dword [eax]
lea ecx, [esp + 0x24]
mov edi, eax
add esi, 0x48
call fcn.0058dbc0
mov ecx, dword [esi]
push eax
push 0
push 0
push edi
call ecx
mov eax, dword [esp + 0x20]
test eax, eax
mov byte [esp + 0xfc], 2
je 0x5dfce4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x5dfce4
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x18]
mov edi, dword [eax]
lea ecx, [esp + 0x20]
mov byte [esp + 0xfc], 3
mov esi, eax
call fcn.0058dbc0
mov ecx, dword [edi]
push eax
push 0x683a08
push esi
call ecx
test eax, eax
jl 0x5dfccc
mov eax, dword [esp + 0x20]
mov esi, dword [eax]
lea ecx, [esp + 0x24]
mov edi, eax
add esi, 0x48
call fcn.0058dbc0
mov edx, dword [esi]
push eax
push 0
push edi
call edx
mov eax, dword [esp + 0x20]
test eax, eax
mov byte [esp + 0xfc], 2
je 0x5dfce4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
test eax, eax
mov byte [esp + 0xfc], 1
je 0x5dfd00
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
test ebx, ebx
je 0x5dfd4e
cmp dword [esp + 0x1c], ebx
je 0x5dfd4e
mov eax, dword [ebp + 0xbc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x94]
push ebx
push 0
push eax
mov dword [esp + 0x28], ebx
call edx
test eax, eax
jl 0x5dfebc
cmp ebx, dword [esp + 0x10]
jne 0x5dfd4e
mov eax, dword [ebp + 0xbc]
mov ecx, dword [eax]
lea edx, [esp + 0x7c]
push edx
push eax
mov eax, dword [ecx + 0xbc]
call eax
test eax, eax
jl 0x5dfebc
mov eax, dword [ebp + 0x108]
mov edx, dword [esp + 0x64]
mov ecx, dword [eax]
push str.vd_clear
push edx
push eax
mov eax, dword [ecx + 0x4c]
call eax
test eax, eax
je 0x5dfe46
mov ecx, dword [ebp + 0x108]
mov edx, dword [ecx]
lea esi, [esp + 0x2c]
push esi
push eax
mov eax, dword [edx + 0x8c]
push ecx
call eax
test eax, eax
jl 0x5dfe46
fld dword [esp + 0x2c]
sub esp, 8
fstp qword [esp]
call fcn.00519e42
fld dword [esp + 0x38]
mov esi, eax
fstp qword [esp]
call fcn.00519e42
fld dword [esp + 0x3c]
mov ebx, eax
fstp qword [esp]
call fcn.00519e42
fld dword [esp + 0x40]
mov edi, eax
fstp qword [esp]
call fcn.00519e42
add esp, 8
cmp esi, 0x100
jb 0x5dfddc
not esi
sar esi, 0x1f
and esi, 0xff
cmp ebx, 0x100
jb 0x5dfdef
not ebx
sar ebx, 0x1f
and ebx, 0xff
cmp edi, 0x100
jb 0x5dfe02
not edi
sar edi, 0x1f
and edi, 0xff
cmp eax, 0x100
jb 0x5dfe13
not eax
sar eax, 0x1f
and eax, 0xff
mov ecx, dword [ebp + 0xbc]
fld1
mov edx, dword [ecx]
shl eax, 8
add eax, esi
shl eax, 8
push 0
add eax, ebx
push ecx
fstp dword [esp]
shl eax, 8
add eax, edi
push eax
mov eax, dword [edx + 0xac]
push 1
push 0
push 0
push ecx
call eax
test eax, eax
jl 0x5dfebc
mov eax, dword [ebp + 0x108]
mov edx, dword [esp + 0x28]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x100]
call eax
test eax, eax
jl 0x5dfebc
mov ecx, dword [ebp + 0xb8]
push 2
push 0
push 4
push 0
push 4
call fcn.005db900
mov eax, dword [ebp + 0x108]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x108]
push eax
call edx
test eax, eax
mov eax, dword [esp + 0x24]
mov byte [esp + 0xfc], 0
jl 0x5dfec8
test eax, eax
je 0x5dfea2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [esp + 0x28]
add ecx, 1
cmp ecx, dword [esp + 0x14]
mov dword [esp + 0x28], ecx
jb 0x5dfab0
jmp 0x5df8e8
mov eax, dword [esp + 0x24]
mov byte [esp + 0xfc], 0
test eax, eax
je 0x5dfed4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0xfc], 0xffffffff
test eax, eax
je 0x5dfaa2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov al, 1
jmp 0x5df2f1
mov eax, dword [ebp + 0xc4]
mov ecx, dword [ebp + 0xb8]
push eax
call fcn.005dbaa0
fldz
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
xor ecx, ecx
push ecx
push ecx
fstp dword [esp]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [ebp + 0x38]
push ecx
push 1
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0xbc]
lea ecx, [esp + 0x4c]
push ecx
mov dword [esp + 0x58], edx
mov edx, dword [eax]
mov edx, dword [edx + 0xac]
push 1
push eax
call edx
test eax, eax
jmp 0x5df2e9
mov ecx, dword [esp + 0xe8]
mov al, 1
pop ebp
mov dword fs:[0], ecx
add esp, 0xf0
ret 8